인공지능 15강 - 딥러닝(2) 깊은 신경망을 안정적으로 학습시키는 ResNet의 원리와 시퀀스를 처리하는 RNN, LSTM, GRU를 살펴본다. 자연언어 번역의 인코더-디코더와 어텐션을 거쳐, 셀프 어텐션으로 병렬 처리를 가능하게 한 트랜스포머까지 연결하여 이해한다. 심층 합성곱 신경망과 ResNet 층의 깊이와 특징 표현 합성곱 신경망의 낮은 층은 선이나 가장자리처럼 낮은 수준의 특징을 추출하고, 높은 층은 앞선 특징들을 결합하여 더 복합적인 고수준 특징을 추출한다. 층을 많이 쌓으면 여러 수준의 특징을 풍부하게 표현할 수 있으므로 신경망의 표현력이 높아질 수 있다. 그러나 층 수가 증가한다고 학습 성능이 자동으로 좋아지는 것은 아니다. 지나치게 깊은 일반 신경망은 오히려 학습 품질이 떨어질 수 있다. Kaiming He 등은 이 최적화 문제를 완화하기 위해 잔차 블록(residual block) 을 순차적으로 연결한 ResNet(Residual Network)을 제안하였다. 잔차 블록의 원리 일반 블록이 원하는 출력 H(x) 를 직접 학습한다면, 잔차 블록은 입력과 출력의 차이인 F(x) = H(x) - x 를 학습한다. 입력 x 는 항등 스킵 연결(identity 또는 shortcut connection)을 통해 블록의 출력에 직접 더해진다. H(x) = F(x) + x 스킵 연결은 입력을 그대로 다음 단계에 전달하므로 깊은 망에서도 정보와 학습 신호가 흐를 수 있는 통로를 제공한다. 그 결과 잔차 블록을 여러 층 연결한 ResNet은 같은 깊이의 일반 심층망보다 최적화가 잘 이루어질 수 있다. 시험 핵심: ResNet은 목표 출력 자체가 아니라 입력과 목표 출력의 차인 잔차를 학습하며, 블록의 최종 출력은 F(x)+x 이다. 규격이 다른 입력의 처리 F(x) 와 x 를 원소별로 더하려면 Layer-2의 ...