늦깎이 공대생의 인공지능 연구실
[해석할 수 있는 기계학습(7-0)]신경망 해석(Neural Network Interpretation) 본문
[해석할 수 있는 기계학습(7-0)]신경망 해석(Neural Network Interpretation)
Justin T. 2021. 5. 17. 23:44
이 포스팅은 신경망에 대한 해석 방법에 초점을 두고자 합니다. 이 방법은 신경망에 의해 학습된 특성과 개념을 시각화하고, 각각의 예측을 설명하며, 신경망을 단순화합니다.
특히 딥러닝은 이미지 분류와 언어 번역과 같은 이미지와 텍스트를 포함하는 작업에서 매우 성공적인 결과를 보입니다. 심층신경망의 성공 사례는 2012년, ImageNet 이미지 분류 챌린지 대회에서 딥러닝 접근 방식으로 승리하면서 시작되었습니다. 그 이후, 우리는 점점 더 많은 가중치 매개 변수를 가진 더 깊은 신경망으로 향하는 추세와 함께 딥 뉴럴 아키텍처의 캄브리아기 대폭발과 같은 상황을 목격했습니다.
신경망으로 예측을 하기 위해, 데이터 입력은 학습된 가중치와 비선형 변환을 통해 많은 곱셈 레이어를 통과합니다. 하나의 예측은 신경망의 구조에 따라 수백만 개의 수학적 연산을 포함할 수 있습니다. 우리 인간이 데이터 입력에서 예측까지의 정확한 매핑을 따를 가능성은 없습니다. 우리는 신경망에 의한 예측을 이해하기 위해 복잡한 방식으로 상호작용하는 수백만 개의 가중치를 고려해야 합니다. 신경망의 동작과 예측을 해석하려면 구체적인 해석 방법이 필요합니다. 이 챕터에서 CNN(Convolutional Neural Network)을 포함한 딥러닝에 익숙하다고 가정합니다.
지역 모델 또는 부분의존도와 같은 모델 불특정성 방법을 사용할 수 있지만, 신경망용으로 특별히 개발된 해석 방법을 고려하는 것이 타당한 이유는 두 가지가 있습니다. 첫째, 신경망은 숨겨진 레이어에서 특성과 개념을 배우고 우리는 그것들을 밝혀낼 특별한 도구가 필요합니다. 둘째, 기울기를 사용하여 "외부에서" 모델을 보는 모델 불특정성 방법보다 계산적으로 더 효율적인 해석 방법을 구현할 수 있습니다. 또한 이 책에서 대부분의 다른 방법들은 표 형식의 데이터에 대한 모델 해석을 목적으로 합니다. 이미지 및 텍스트 데이터에는 다른 방법이 필요합니다.
이번 챕터에서는 다음과 같은 내용들을 다루고자 합니다.
- 특성 시각화: 신경망은 어떤 특성을 학습했을까요? 예제 기반 설명에서의 적대적 예제는 잘못된 분류를 얻기 위해 입력을 어떻게 조작할 수 있습지에 대한 특성 시각화와 밀접한 관련이 있습니다.
- 개념: 신경망이 학습한 추상적 개념은 무엇일까요?
- 특성 속성: 각 입력이 특정 예측에 어떤 기여를 했을까요?
- 모델 증류: 신경망을 더 단순한 모델로 어떻게 설명할 수 있을까요?
참고자료: https://christophm.github.io/interpretable-ml-book/neural-networks.html
'해석할 수 있는 기계학습 > 7. 신경망 해석' 카테고리의 다른 글
[해석할 수 있는 기계학습(7-3)] 개념 탐지(Detecting Concepts) (0) | 2021.08.30 |
---|---|
[해석할 수 있는 기계학습(7-2)]픽셀 속성 - Pixel Attribution(중요영역 지도 - Saliency Maps) (0) | 2021.07.12 |
[해석할 수 있는 기계학습(7-1)]학습된 특성(Learned Features) (0) | 2021.06.21 |