딥러닝을 성공적으로 활용하기 위해서는 알고리즘 이해와 선택뿐만 아니라 응용 과제에 맞는 알고리즘을 선택하고 실험적으로 모델을 평가하고 분석하여 시스템을 개선하는 능력이 필요합니다. 실무자는 데이터 수집, 모델 용량 조절, 정칙화 특징 추가 또는 제거, 모델 최적화 등 다양한 결정을 내려야 합니다. 이를 위해서는 신중한 판단과 노력이 필요하며, 어떤 활동을 어떻게 진행할지 심사숙고하여 결정하는 것이 중요합니다.
설계 과정에서의 오차 측정과 목표 설정
설계 과정의 첫 단계는 오차 측정법과 목표 오차를 결정하여 개발 목표를 정의하는 것입니다. 이는 나중에 이어지는 모든 활동의 지침이 되기 때문에 중요합니다. 또한 원하는 성과가 어느 수준인지 미리 정해두는 것이 필요합니다.
데이터 수집과 훈련 데이터의 한계
대부분의 응용에서는 절대 오차가 0이 되는 것은 불가능합니다. 베이즈 오차는 달성할 수 있는 최소 오류율을 정의하며, 훈련 데이터 집합이 무한히 크고 실제 확률 분포를 완벽하게 복원하는 것이 가능하다 해도 베이즈 오차를 초과하는 오차를 줄이는 것은 불가능합니다. 이는 입력 특징이 출력 변수에 대한 완전한 정보를 제공하지 않거나 시스템이 본질적으로 확률적인 경우에 해당합니다. 게다가 현실에서는 훈련 데이터가 유한하다는 한계가 있습니다.
훈련 데이터의 양이 제한되는 이유는 여러 가지가 있습니다. 실제 제품이나 서비스를 구축하는 경우에는 추가 데이터 수집이 가능할 수 있지만, 이를 위해 들어가는 비용 대비 오차 감소 정도를 고려해야 합니다. 데이터 수집은 시간과 비용이 소요되며 때로는 인간의 고통을 동반할 수도 있습니다. 또한 고정된 벤치마크를 기준으로 알고리즘의 성능을 비교하는 과학적 연구의 경우 해당 벤치마크에서 명시된 훈련 데이터를 사용해야 합니다. 따라서 추가 데이터 수집이 허용되지 않는 경우가 일반적입니다.
특수한 경우에 대한 성과 측정 방법
적절한 목표 성과 수준을 결정하는 것은 학술 연구와 실제 응용에서 다소 차이가 있습니다. 학술 연구의 경우에는 이전에 발표된 벤치마크 결과를 기반으로 달성할 수 있는 오류율을 추정합니다. 반면에 실제 응용의 경우에는 안전하고 비용 효율적으로 동작하는 데 필요한 오류율이나 소비자에게 어필할 만한 수준을 고려하여 목표 성과 수준을 추정합니다. 목표 오류율이 결정되면 이후 설계상의 결정에서 중요한 기준으로 작용하게 됩니다.
인간 결정과 기계 학습 시스템의 협력
성과를 측정하는 방법은 달성하고자 하는 성과 수준 외에도 중요한 고려 사항입니다. 기계 학습 시스템의 효능을 측정하는 방법은 여러 가지가 있으며, 이러한 성과 측정 방법은 종종 모델 훈련에 사용되는 비용 함수와 다를 수 있습니다. 흔히 사용되는 측정 방법은 시스템의 정확도 또는 오류율과 같은 성과 지표입니다.
시스템이 저지르는 실수의 피해가 실수의 종류에 따라 다를 때가 있습니다. 예를 들어, 스팸 메일 검출 시스템은 두 종류의 실수를 저지를 수 있는데 하나는 정상 메일을 스팸으로 잘못 분류하는 것이고, 다른 하나는 스팸 메일을 감지하지 못하는 것입니다. 이러한 경우에는 정상 메일을 스팸으로 오인하는 경우의 비용이 훨씬 더 심각할 수 있습니다. 따라서 스팸 분류기의 성능을 평가할 때 오류율을 측정하는 대신, 정상 메일을 스팸으로 분류하는 경우의 비용을 고려하여 종합적인 비용을 평가하는 것이 더 나을 수 있습니다.
포괄도와 정확도의 관계와 목표 설정의 중요성
드물게 발생하는 사건을 검출하는 이진 분류기를 훈련해야 할 때가 종종 있습니다. 예를 들어, 100만 명 중 한 명꼴로 발생하는 어떤 희귀병을 진단하는 의료 진단 시스템을 설계한다고 가정해 봅시다. 이런 경우, 99.9999%의 정확도를 달성하는 것은 간단합니다. 분류기가 항상 음성 결과를 출력하게 하면 되기 때문입니다. 그러나 이런 시스템의 성과를 평가하는 데에는 정확도가 유용하지 않습니다.
정밀도는 분류기가 검출한 사건 중 실제로 발생한 사건의 비율을 의미하며, 재현율은 실제로 발생한 모든 사건 중 분류기가 검출한 사건의 비율입니다. 항상 음성 결과만 출력하는 검출기는 완벽한 정밀도를 가질 수 있지만 재현율은 0입니다. 반면에 항상 양성 결과를 출력하는 검출기는 재현율은 100% 일 수 있지만 정밀도는 실제로 질병이 있는 사람 중에 검출된 사람의 비율입니다. 따라서 희귀한 질병의 경우, 검출기의 정밀도는 매우 낮을 수 있습니다.
어떤 응용에서는 기계 학습 시스템이 결정을 내리기를 거부할 수도 있습니다. 이는 알고리즘이 결정을 내릴 때의 확신 수준을 추정할 수 있으면 유용합니다. 특히 잘못된 결정이 큰 피해를 야기할 수 있는 상황에서는 인간 운영자가 시스템을 대신하여 결정을 내리는 것이 필요할 수 있습니다. 스트리트 뷰 전사 시스템은 이에 대한 한 예입니다. 이 시스템은 건물 사진에서 번지수를 추출하고 이를 지도상의 위치와 연관시킵니다. 지도의 정확도가 낮으면 번지수를 추가하지 않는 것이 바람직합니다. 따라서 기계 학습 시스템이 번지수를 추출하는 능력이 낮다고 판단할 때는 사람에게 결정을 맡기는 것이 최선입니다.
이런 경우에 적합한 성과 측도는 포괄도입니다. 포괄도는 기계 학습 시스템이 반응을 산출할 수 있는 보기들의 비율을 나타냅니다. 포괄도와 정확도는 절충 관계에 있습니다. 시스템이 어떤 보기도 처리하지 않으면 정확도는 10%일지라도 포괄도는 0%입니다. 스트리트 뷰 과제의 경우 목표는 포괄도를 95%로 유지하면서 사람 수준의 전사 정확도를 달성하는 것입니다. 사람 수준의 정확도는 98%로 알려져 있습니다.
성과 측도를 미리 정하고 해당 측도를 개선하는 데 집중하는 것이 매우 중요합니다. 목표를 명확하게 설정하지 않으면 기계 학습 시스템의 변화가 실제로 시스템을 개선했는지 여부를 판단하기 어려울 수 있습니다. 따라서 성과 측도를 정의하고 이를 향상하는 방향으로 시스템을 개선하는 것이 필요합니다. 이를 통해 시스템의 효과적인 평가와 개선이 가능해집니다.
결론
딥러닝을 효과적으로 활용하기 위해서는 알고리즘 이해와 선택뿐만 아니라 응용 과제에 맞는 알고리즘을 선택하고 실험적으로 모델을 평가하고 분석하여 시스템을 개선하는 능력이 필요합니다. 데이터 수집, 모델 용량 조절, 정칙화 특징 추가 또는 제거, 모델 최적화 등 다양한 결정은 실무자가 내려야 합니다. 이를 위해서는 신중한 판단과 노력이 필요하며, 어떤 활동을 어떻게 진행할지 심사숙고하여 결정하는 것이 중요합니다. 데이터 수집과 훈련 데이터의 한계, 특수한 경우에 대한 성과 측정 방법, 그리고 포괄도와 정확도의 관계와 목표 설정의 중요성을 고려하여 성과 측도를 미리 정하고 해당 측도를 개선하는 것이 매우 중요합니다. 이를 통해 시스템의 효과적인 평가와 개선이 가능해집니다.