학습된 표현이 등장하기 전
딥러닝 이전에는 머신러닝 작업의 대부분이 특징 공학이었어. 이미지에서는 경계선 탐지기(Sobel, Canny), HOG, SIFT를 썼고, 텍스트에서는 bag-of-words, TF-IDF, 구문 분석 트리를 썼어. 오디오에서는 MFCC를 사용했지. 도메인마다 장인 수준의 전문성이 필요했고, 특징을 설계하는 일 자체가 핵심 업무였어.
효과는 있었지만 한계도 분명했어. 새 도메인에 들어갈 때마다 새로운 전문가가 필요했고, 얼굴 인식용 특징은 X-ray에 통하지 않았어. 영어 뉴스용 특징도 코드나 한국어에는 맞지 않았고. 병목은 알고리즘이 아니라 사람이 데이터를 얼마나 잘 묘사할 수 있느냐였어. 그 과정이 매번 한 달씩 잡아먹었지.
딥러닝이 바꾼 것
딥러닝은 이 관계를 뒤집었어. 사람이 특징을 설계하는 대신, 신경망이 원시 데이터에서 직접 표현을 학습해. 앞쪽 층은 단순한 패턴(edge, 색 덩어리, character n-gram)을 배우고, 뒤쪽 층은 그 패턴을 조합해 눈, 문장, 멜로디처럼 더 풍부한 개념을 만들어. 같은 아키텍처도 데이터만 바꾸면 고양이 인식기에서 CT 스캔 종양 검출기로 바뀔 수 있어.
이식성이 비용을 정당화하는 핵심이야. 문제마다 도메인 전문가를 따로 고용하는 대신, 데이터와 손실 함수, 평가 방식을 제대로 설계할 수 있는 사람이 있으면 돼. 같은 학습 루프에 다른 데이터를 넣으면 비전 시스템, 번역 시스템, 코드 완성 시스템을 만들 수 있어.
이게 퀘스트 전체에 왜 중요한가
텐서, 층, 활성화, 옵티마이저, 정규화, 어텐션은 모두 대규모에서도 표현 학습을 안정적으로 수행하기 위한 도구야. 길을 잃으면 이 레슨으로 돌아와. 딥러닝은 표현 학습이 어려운 부분일 때만 비용을 들일 가치가 있어. 필요한 특징을 오후 한나절에 손으로 만들 수 있다면, 보통은 전통적 머신러닝이 더 나아.