반응형
본문 바로가기

분류 전체보기141

국어, 영어, 수학의 점수는 다음과 같다. 홍길동 씨의 평균점수를 구해보자. 오늘은 점프 투 파이썬에 나오는 연습문제를 풀어보도록 하겠습니다. 과목은 국어, 영어, 수학이 있구요. 각각 점수는 80점, 75점, 55점이네요. 어떻게 풀어야 할까요? 우선 각각 과목과 점수 변수를 만들어 주고, 리스트 자료형으로 넣어주겠습니다. 각각 잘 들어갔는지 확인해 볼게요. 과목과 점수 변수에 각각 내용이 잘 들어가있는걸 확인했습니다. 그럼 이제 평균을 구해볼게요. 평균 변수를 만들어주고, 검증까지 해보겠습니다. 평균과 그 평균이 맞는지 검증까지 잘 되었네요. 2020. 7. 7.
RNN의 Gradient 문제 해결하기 위한 기법? LSTM(Long Short Term Memory)와 GRU(Gated Recurrent Unit)이란? 지난 시간에 RNN을 배워보았습니다. RNN의 경우 Gradient Vanishing 문제가 발생했죠. 이유는 출력할 때 hyperbolic Tangent(하이퍼볼릭 탄젠트, tanh)으로 Back Propagation을 할 때 문제가 생기죠. Back Propagation을 할 때 Tanh를 미분한 값을 곱하게 됩니다. 이 때 보시면 Tanh의 미분한 값은 1보다 작은 값이죠. 그래서 값이 점점 작아지게 됩니다. Gradient Vanishing 문제가 생기죠. 그래서 나온 기법이 LSTM(Long Short Term Memory)입니다. 상기 그래프는 LSTM 구조를 나타내고 있는데요. 보시면 input, forget, output 등의 sigmoid 함수가 들어가 있습니다. 파란색 그래프가 sigm.. 2020. 7. 4.
RNN이 쓰이는 어플리케이션(분야)은 어떤게 있을까? 우선 RNN의 입력과 출력에 따른 모델을 한번 살펴보자. 입력이 여러개이고 출력이 한개인 경우(Many to One), 텍스트 분류에 쓰인다고 한다. 즉, 이 텍스트가 뉴스 카테고리인지 연예 카테고리인지 자기계발인지 하는 텍스트가 속한 카테고리를 정해주는 것이라고 생각하시면 될 것 같다. 최종 출력만 필요하고 나머지 이전의 출력값은 다 버린다. 일대다(One to Many)의 모델의 경우에는 NLG와 Machine Translation이 있다. NLG는 Natural Language Generation 즉, 자연어 생성을 뜻한다. 예를 들어 '나는 멍멍이와 뛰고 싶다'라는 문장이 있을 때 '나는'이라는 단어를 입력하면 뒤에 '멍멍이와'라는 단어가 생성되고, 그 '멍멍이와'라는 출력이 다시 입력으로 들어가.. 2020. 7. 3.
Vanilla RNN(Recurrent Neural Network)이란? 보통의 딥러닝은 다음과 같은 입출력을 보인다. 즉, 입력 x가 들어가면 출력 y가 나오는 식이다. 그런데, RNN 또는 Vanilla RNN의 경우는 다음과 같다.(RNN과 Vanilla RNN은 같은 말이라고 생각하면 된다.) 입력 x가 들어가면 출력 h가 나오는데, 그 출력이 다시한번 입력과 결합되는 방식이다. 이런 RNN 모델에는 어떤 입력 x가 적합할까? 김기현 강사님에 따르면, Sequential Data에 적합하다고 한다. Sequential Data란 말 그대로 순차적인 데이터를 뜻하는데, 예를 들어보면 내가 지금 쓰고 있는 텍스트나 샘플링 주기가 일정한 영상 또는 음성 등이 있다. 이러한 Sequantial Data의 경우에는 데이터의 순서정보가 중요하다고 한다. 텍스트의 경우에는 단어의 .. 2020. 7. 2.

반응형