1~3강까지는 중요한 내용이 많지 않다.
3강에서는 Neural Networks에 관해, vector 연산, Chain rule, non-linearities, cross entropy, gradient update rule 등의 내용을 중심으로 설명하는데 수식 이해를 돕기 위한 예시 설명부가 길다. 해당 부분들은 생략하고 알고 넘어가야하는 핵심부만 추려서 작성한다.
강의에서 언급되는 내용의 핵심 키워드에 구글링을 통해 추가한 내용들을 위주로 작성했다.
개체 명 인식이라고 해석한다.
한국정보통신기술협회에서 제공하는 정보통신용어사전에 따르면,
미리 정의해 둔 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어(개체명)를 문서에서 인식하여 추출 분류하는 기법. 추출된 개체명은 인명(person), 지명(location), 기관명(organization), 시간(time) 등으로 분류된다. 개체명 인식(NER)은 정보 추출을 목적으로 시작되어 자연어 처리, 정보 검색 등에 사용된다.
※ 예:철수[인명]는 서울역[지명]에서 영희[인명]와 10시[시간]에 만나기로 약속하였다.
라고 되어있다. 문장 내에서 개체명을 인식해서 추출하는 task를 NER이라 한다.
행렬 연산으로 이뤄진 Deep learning 구조 내에서의 연산은 ReLU, Sigmoid와 같은 Activation function의 역할로 Non-linearity라는 특징을 갖는다. 여러 hidden layer를 거치면서 data가 abstraction 되어가는 과정이 deep learning의 핵심인데 선형적인 연산을 하게 되면 각 계층 별로 연산을 반복하면서 생기는 추상화가 제대로 이뤄지지 않는다는 단점이 있다. 이를 위해 Activation function 뿐만 아니라 bias(편향)을 추가로 사용하기도 한다.
cross entropy는 두 확률 분포 사이의 차이를 구하기 위해서 사용된다. deep learning에서의 그 두 확률이란 각각 prediction과 ground truth를 말한다. 이 연산을 통해 prediction accuracy의 오차를 구하고 이를 gradient update와 weight update를 위한 Backpropagation에서 중요한 변수로 사용한다.
(참고하면 좋은 링크: https://theeluwin.postype.com/post/6080524)
deep learning neural network에서는 gradient를 update하면서 정답을 예측하기 위한 연산 과정을 수행한다. 아래와 같은 연산식을 통해 gradient을 계산한다. Chain rule에 대해 이해해야 한다.
(이미지 수정 중)
Backpropagation은 deep learning algorithm의 학습 과정에 가장 중요한 부분이라 할 수 있다. 최종 prediction 값이 얼마나 ground truth와 다른지를 cross entropy 연산을 통해 구한 뒤(loss), 그 값을 forward 연산의 역연산을 통해 각 layer에 반영하면서 weight 값을 update하여 prediction을 추출하기 위한 연산 과정을 최적화하는 것이 Backpropagation이다.