딥러닝
Deep learning is a subset of machine learning based on artificial neural networks.
— IBM AI 정의 사전
"사실 거대한 행렬곱 연산기들을 믹서기에 넣고 대충 돌려보는 현대판 연금술이다." 파라미터가 왜 이 값인지 아무도 수학적으로 설명하지 못한다
1. 개요
인간의 뇌 신경망 구조에서 영감을 받아, 수많은 숨겨진 계층(Hidden Layers)을 통해 복잡한 데이터 패권을 학습하는 머신러닝의 하위 학문이다. 컴퓨팅 파워의 폭발과 GPU의 가속 성능에 힘입어 현대 인공지능의 대부흥을 이끌었으나, 내부 의사결정 과정을 논리적으로 설명할 수 없는 블랙박스(Black Box) 문제와 무지막지한 하드웨어 비용을 동반한다.(...)
2. 인간이 이해할 수 없는 연산의 늪
딥러닝의 학습 과정은 수억, 수천억 개의 매개변수(파라미터)에 대해 손실 함수(Loss Function)의 기울기를 구하고, 이를 역방향으로 전파하는 오차역전파(Backpropagation)의 무한 반복이다. 결국 컴퓨터가 알아낸 행렬곱의 가중치 덩어리일 뿐이라, '왜 이 사진을 고양이라고 판단했는가?'라는 질문에 수학적인 완벽한 인과관계를 설명할 길이 없다. 이쯤 되면 과학이라기보다는 고대 연금술이나 무속 신앙에 가깝다.1
3. 관련 밈 및 드립
3.1. CUDA Out of Memory (OOM)
PyTorch나 TensorFlow로 학습을 돌리는 도중 마주치는 가장 악명 높은 에러 메시지다. 그래픽 카드의 VRAM 한계를 단 1바이트라도 초과하면 가차 없이 전체 프로세스를 강제 종료해 버리는데, 이 메시지를 보는 순간 개발자의 멘탈도 같이 공중분해 된다.(...)
3.2. 대학원생 타이쿤
딥러닝 논문을 쓰기 위해 수십 시간 동안 모델 학습을 걸어두고 텐서보드의 손실값 그래프가 떨어지기만을 하염없이 기도하는 대학원생들의 처참한 환경을 육성 시뮬레이션 게임에 비유한 잔혹한 유행어다.
4. 여담
- 엔비디아의 우연한 독점: 딥러닝 연산의 핵심이 단순 행렬곱의 연속이라는 점을 간파하고, 화면 렌더링용 연산 장치였던 GPU를 이 연산에 투입하면서 NVIDIA는 인류 역사상 전무후무한 AI 칩셋 독점 제국을 건설했다.
- 오버피팅(Overfitting)의 굴레: 모델이 학습 데이터에만 완벽히 적응하여 실전 데이터에서는 멍청해지는 고질적인 병이다. 이를 막기 위해 일부러 신경망의 일부를 임의로 끊어버리는 드롭아웃(Dropout) 같은 변태적인 기법들이 동원된다.
- 데이터 정제 노가다: 인공지능이라는 화려한 간판 뒤에는, 하루 종일 컴퓨터 화면만 바라보며 이미지 속 고양이 영역에 네모 상자를 그리는 전 세계 데이터 라벨러(Labeler)들의 눈물겨운 수작업 노가다가 숨겨져 있다.
5. 관련 문서
각주
-
실제로 학습이 잘 안 풀릴 때 학습률(Learning Rate)을 0.001에서 0.0003으로 바꾸거나, 가중치 초기화 값을 미세하게 비틀어서 잘 되기를 기도하는 대학원생들의 모습은 과학이라기보단 기우제에 가깝다는 조롱을 받는다. ↩