문제가 복잡하지 않을 경우, 딥러닝 외의 접근 방식이 더 나을 수 있습니다. 예를 들어, 몇 개의 선형 가중치만으로 해결할 수 있는 문제는 로지스틱 회귀와 같은 단순한 통계 모델부터 시작하는 것이 좋습니다.
딥러닝 모델 선택과 구조 결정
인공지능 완전 부류에 속하는 문제들인 물체 인식, 음성 인식, 기계 번역의 경우, 적절한 딥러닝 모델을 사용하여 문제를 해결하는 가능성이 높습니다.
우선으로, 자료의 구조를 고려하여 더 넓은 범위의 모델 범주를 선택해야 합니다. 고정 크기의 벡터를 입력으로 사용하고 지도 학습을 수행해야 할 경우, 완전히 연결된 순방향 신경망을 시작점으로 고려하는 것이 좋습니다. 입력에 잘 알려진 위상 구조가 있다면 합성곱 신경망을 고려할 수 있습니다. 이 경우, 성분별 선형 단위로 시작하는 것이 바람직합니다. 만약 입력이나 출력이 순차적인 경우, 게이트 제어 순환 신경망을 사용해야 합니다.
최적화 알고리즘과 정규화 적용
최적화 알고리즘으로는 학습 속도를 감소시키고 운동량이 적용된 확률적 경사 하강법이 적절한 선택입니다. 또한 Adam이라는 대안도 있습니다. 배치 정규화는 최적화 성능에 큰 영향을 미칠 수 있으며, 특히 합성곱 신경망과 S자형 비선형 함수를 사용하는 신경망에서 그 효과가 두드러집니다. 초기 모델에서는 배치 정규화를 생략할 수 있지만, 최적화에 문제가 있다고 판단되면 배치 정규화를 적용해야 합니다.
데이터 수집과 활용
훈련 집합의 보기 개수가 수천만 정도가 아니라면 처음부터 어느 정도 온건한 형태의 정규화를 적용하는 것이 좋습니다. 조기 종료는 거의 모든 경우에서 적용해야 합니다. 드롭아웃은 구현하기 쉽고 수많은 학습 모델과 훈련 알고리즘에 적용할 수 있는 훌륭한 정규화 수단입니다. 배치 정규화는 종종 일반화 오류를 줄여주고 드롭아웃을 생략할 수 있게 하는데, 이는 통계 추정량의 잡음이 각 변수의 정규화에 쓰이기 때문입니다.
추가 자료 수집 불가하면 대안 고려
다른 과제와 유사한 작업을 수행할 때, 기존 연구에서 가장 우수한 성과를 달성한 모델과 알고리즘을 우선하여 채택하는 것이 좋습니다. 때로는 기존 연구에서 사용된 모델을 직접 복제하여 사용하기도 합니다. 예를 들어, 새로운 컴퓨터 비전 작업을 수행할 때 ImageNet으로 사전 훈련된 합성곱 신경망의 특성을 활용하는 것이 일반적입니다.
처음부터 비지도 학습을 적용할 것인지에 대한 질문은 문제의 영역에 따라 다릅니다. 자연어 처리와 같은 분야에서는 비지도 학습 기법이 매우 유용하다고 알려져 있습니다. 그러나 컴퓨터 비전과 같은 분야에서는 현재의 비지도 학습 기법이 큰 도움이 되지 않습니다. 다만, 아주 적은 수의 레이블이 달린 데이터를 사용하는 준지도 학습은 예외일 수 있습니다.
만약 해결해야 할 문제가 비지도 학습이 중요한 영역에 속한다면, 첫 번째 모델링 단계에 비지도 학습을 포함하는 것이 바람직할 것입니다. 그렇지 않다면, 초기 시도에서는 문제가 비지도 학습에 해당할 때만 이를 적용하는 것이 좋습니다. 초기 기준 모델이 과적합되었다고 판단된다면, 그때 비지도 학습을 추가할 수 있습니다.
첫 번째 종단간 시스템을 구축한 후에는 알고리즘의 성능을 측정하고 개선 방법을 찾아야 합니다. 기계 학습 초보자들은 종종 다양한 알고리즘을 시도하여 시스템을 개선하려는 경향이 있습니다. 그러나 종종 성능 향상을 위해 알고리즘을 개선하는 것보다는 데이터를 더 수집하는 것이 더 효과적일 때가 많습니다.
자료를 더 수집해야 할지 결정하는 과정은 다음과 같습니다. 먼저, 훈련 집합에 대한 성능이 수용할 만한 수준인지 판단합니다. 훈련 집합의 성능이 낮다면, 학습 알고리즘이 현재 사용된 훈련 데이터를 충분히 활용하지 못하고 있는 것일 수 있으므로 자료를 추가로 수집할 필요가 없습니다. 이 경우에는 모델의 규모를 키우거나 학습 알고리즘을 개선하는 것이 좋습니다.
그러나 모델의 규모를 확대하고 학습 알고리즘을 조정해도 훈련 집합의 성능이 향상되지 않는다면, 훈련 데이터의 품질이 문제일 수 있습니다. 데이터에 너무 많은 잡음이 있거나 원하는 출력을 예측하는 데 필요한 적절한 입력이 충분하지 않을 수 있습니다. 이 경우에는 처음부터 깨끗한 데이터를 수집하거나 보다 다양한 특징이 있는 데이터를 수집해야 할 수 있습니다.
훈련 집합에 대한 성능이 괜찮은 수준이라면 시험 집합에 대한 성능을 평가합니다. 시험 집합에 대한 성능이 수용할 만한 수준이라면 추가 작업이 필요하지 않습니다. 그러나 시험 집합에 대한 성능이 훈련 집합의 성능을 크게 밑도는 경우, 추가 자료 수집이 매우 효과적일 수 있습니다. 추가 자료 수집의 핵심 고려 사항은 실현 가능성과 비용입니다.
수백만에서 수십억 개의 데이터를 수집할 수 있는 대기업들은 추가 자료 수집이 상대적으로 쉽고 비용 효율적일 수 있습니다. 따라서 대부분의 경우 추가 자료 수집이 권장됩니다. 그러나 의료 진단과 같은 분야에서는 추가 자료 수집이 어려울 수 있습니다. 이런 경우에는 모델의 크기를 줄이거나 정규화를 개선하는 것이 대안이 될 수 있습니다. 정규화를 개선한 후에도 훈련 집합과 시험 집합 간의 성능 차이가 여전히 크다면 추가 자료 수집을 고려해야 합니다.
자료를 추가로 수집하는 것이 현실적으로 불가능하다면 일반화 오차를 개선하기 위한 유일한 대안은 학습 알고리즘 자체를 개선하는 것입니다. 그러나 이는 연구적인 영역이며, 응용 프로그램을 개발하는 실무자에게는 쉽게 시도할 수 있는 일이 아닙니다. 이러한 개선은 새로운 알고리즘의 개발이나 기존 알고리즘의 수정을 통해 이루어질 수 있습니다. 이는 전문적인 지식과 경험이 필요한 작업으로, 보통 연구자나 전문가들이 수행합니다. 따라서 자료 추가가 불가능한 상황에서는 일반화 오차를 개선하기 위해서는 현재 사용 중인 알고리즘에 대한 최적화나 새로운 알고리즘의 도입을 고려해야 합니다.
결론
딥러닝 외의 접근 방식이 더 나을 수 있는 경우에는 문제를 해결하기 위해 단순한 통계 모델부터 시작하는 것이 유용할 수 있습니다. 하지만, 물체 인식, 음성 인식, 기계 번역과 같은 복잡한 문제는 적절한 딥러닝 모델을 선택하여 해결하는 것이 바람직합니다. 딥러닝 모델을 선택할 때에는 자료의 구조를 고려하고, 최적화 알고리즘과 정규화를 적용하여 모델을 구축하는 것이 중요합니다. 또한, 데이터의 수집과 활용은 성능 향상에 중요한 역할을 합니다. 추가 자료 수집이 어려운 경우에는 다른 대안을 고려하거나 학습 알고리즘 자체를 개선하는 방법을 고려할 수 있습니다.