본문 바로가기
Data Analysis

설명가능한 인공지능(XAI) 관련 설명(3)

by Urban communicator 2023. 1. 16.

XAI 관련 설명(1)

XAI 관련 설명(2)

XAI 관련 설명(4)

XAI 관련 설명(5)

 

4.3. Explainability in deep learning

사후 지역의 설명 및 기능 관련성 기술은 DNN을 설명하기위한 가장 채택 된 방법으로 점점 더 채택 된 방법입니다. 이 섹션에서는 가장 많이 사용되는 DL 모델, 즉 다층 신경 네트워크, CNN (Convolutional Neural Networks) RNN (Reburrent Neural Networks)에 대해 제안 된 설명 연구를 검토합니다.

 

4.3.1. Multi-layer neural networks

그들의 창립에서 멀티 층 신경망 (다층 퍼셉트론이라고도 함)은 변수들 사이의 복잡한 관계를 유추 할 수있는 큰 능력으로 인해 학계에 의해 따뜻하게 환영 해 왔습니다. 그러나 소개에 언급 된 바와 같이, 실제 생산에 이러한 모델을 배포하는 개발자와 엔지니어는 의심스러운 설명에서 꺼리는 일반적인 이유를 발견했습니다. 그렇기 때문에 신경망은 항상 블랙 박스 모델로 간주되었습니다. 설명이 종종 모델이 실용적인 가치가되기 위해 필수적이라는 사실은 커뮤니티가 모델 단순화 접근법, 특징 관련성 추정기, 텍스트 설명, 로컬 설명 및 모델 시각화를 포함하여 다층 신경망을위한 다중 설명 성 기술을 생성해야했습니다. 하나의 단일 숨겨진 계층을 갖는 신경망에 대한 몇 가지 모델 단순화 기술이 제안되었지만, 여러 숨겨진 층이있는 신경망에 대한 작품은 거의 없었다. 이 몇 가지 작품 중 하나는 더 많은 의사 결정 트리와 규칙을 추가하여 다층 신경망에 대해 [259]에 제시된 규칙 추출 (뉴런 수준에서 분할)에 대한 제시 적 접근법 (뉴런 수준에서 분할)에 대한 조정 접근법을 확장합니다. 다른 작품은 모델 단순화를 사후 설명 성 접근법으로 사용합니다. 예를 들어, [56]은 그라디언트 부스트 트리를 통해 해석 가능한 모델을 추출하기 위해 해석 가능한 모방 학습이라는 간단한 증류 방법을 제시합니다. 같은 방향으로, [135]의 저자들은 연관성이 예측 될 때까지 클래스 레이블의 반복적 인 거부를 재배치하는 기능 공간의 계층 적 분할을 제안한다. 또한 몇몇 작품은 모델 앙상블에서 단일 모델로 지식의 증류를 다루었 다 [80,289,290]. 다층 신경 네트워크의 단순화가 층의 수가 증가함에 따라 더 복잡하다는 사실을 감안할 때, 기능 관련 방법에 의해 이러한 모델을 설명하는 것이 점점 더 대중화되었습니다. 이 분야의 대표 작품 중 하나는 [60]이며, 이는 네트워크 분류 결정을 입력 요소의 기여로 분해하는 방법을 제시합니다. 이들은 각 뉴런을 분해 및 확장 한 다음 네트워크를 통해 이러한 분해를 역전시킬 수있는 물체로 간주하여 테일러 분해가 깊어집니다. 같은 방향으로, [110]의 저자들은 다층 신경 네트워크에서 중요도 점수를 계산하기위한 접근법 인 Deeplift를 제공했다. 그들의 방법은 뉴런의 활성화를 기준 활성화와 비교하고 차이에 따라 점수를 할당한다. 반면에 일부 작품은 현재의 설명 방법의 이론적 건전성을 확인하려고합니다. 예를 들어, [262]의 저자는 다층 네트워크 용으로 설계된 대부분의 기능 관련성 기술의 근본적인 문제를 제기합니다. 그들은 그러한 기술이 민감성과 구현 불변을 충족시켜야한다는 두 가지 공리가 대부분의 접근 방식에 의해 실제로 위반된다는 것을 보여 주었다. 이 공리에 따라, [262]의 저자들은 통합 그라디언트를 만들었으며, 새로운 기능 관련성 방법은 앞서 언급 한 공리를 충족시키는 것으로 입증되었습니다. 마찬가지로, [61]의 저자들은 간단한 선형 신경 네트워크에서 심층 신경망, E, G., De-Convnet, Guided Backprop LRP를 위해 설계된 현재 기능 관련성 설명 접근법의 정확성을 분석했습니다. 그들의 분석은 이러한 방법이 이론적으로 올바른 설명을 생성하지 않으며 단순하고 심층 신경망 모두에 대해 이론적으로 더 건전한 두 가지 새로운 설명 방법 PatternNet PatternAttribution을 제시했습니다.

 

4.3.2. Convolutional Neural Networks

현재 CNN은 이미지 분류 및 객체 감지에서 인스턴스 세분화에 이르기까지 모든 기본 컴퓨터 비전 작업에서 최신 모델을 구성합니다. 일반적으로, 이들 모델은 점점 더 높은 수준의 기능을 자동으로 학습하기 위해 일련의 컨볼 루션 레이어 및 풀링 층으로 구축됩니다. 시퀀스의 끝에서, 하나 또는 다중 완전히 연결된 레이어는 출력 기능 맵을 점수로 매핑하는 데 사용됩니다. 이 구조에는 설명하기 어려운 매우 복잡한 내부 관계가 수반됩니다. 다행히도 인간인지 기술이 시각적 데이터에 대한 이해를 선호하기 때문에 CNN에 대한 설명으로가는 길은 다른 유형의 모델보다 쉽습니다.

CNN이 배우는 내용을 이해하는 것을 목표로하는 기존의 작품은 다음과 같은 두 가지 범주로 나눌 수 있습니다. 1) 입력 공간의 출력을 다시 맵핑하여 출력에 대한 입력 부분이 판별되었는지 확인하여 의사 결정 프로세스를 이해하려고 시도하는 것; 그리고 2) 네트워크 내부를 탐구하고 중간 계층이 외부 세계를 어떻게 보는 지 해석하는 사람들은 특정 정보와 관련이 아니라 일반적으로 반드시 관련이 있습니다. 첫 번째 범주의 주요 작품 중 하나는 [291]이었다. 입력 이미지가 CNN을 통해 피드 포워드를 실행하면 각 레이어는 강력하고 소프트 활성화로 여러 기능 맵을 출력합니다. [291]의 저자는 이전에 동일한 저자 [142]에 의해 설계된 네트워크 인 Deconvnet을 사용하여 선택된 층의 기능 맵이 공급 될 때 최대 활성화를 재구성합니다. 이러한 재구성은 그 효과를 생성 한 이미지의 일부에 대한 아이디어를 줄 수 있습니다. 입력 이미지에서 이러한 가장 강력한 활성화를 시각화하기 위해 동일한 저자는 폐색 감도 방법을 사용하여 돌출 맵을 생성했습니다 [136]. 입력 공간에 대한 매핑의 품질을 향상시키기 위해, 몇몇 후속 논문은 CNN 아키텍처와 시각화 방법을 모두 단순화하는 것을 제안했다. 특히, [96] CNN의 마지막 컨볼 루션 레이어와 객체 클래스를 예측하는 완전히 연결된 층 사이의 전역 평균 풀링 층을 포함 하였다. CNN 의이 간단한 아키텍처 수정으로 저자는 Convolutional Feature Maps의 출력 레이어의 가중치를 돌려서 특정 객체 클래스에 특히 중요한 이미지 영역을 식별하는 데 도움이되는 클래스 활성화 맵을 구축했습니다. 나중에, [143]에서, 저자들은 최대 풀링 층을 사용하여 Convolutional 레이어를 여러 이미지 인식 벤치 마크에서 eaccy의 손실없이 큰 보폭으로 대체 할 수 있음을 보여 주었다. 그들은 유도 된 역 전파 방법을 사용하여 deconvnet보다 깨끗한 시각화를 얻었습니다.

고전적인 CNN의 해석 가능성을 높이기 위해 [113]의 저자는 각 필터가 매우 특정한 객체 구성 요소를 학습하도록 강제하기 위해 높은 수준의 컨볼 루션 레이어의 각 필터에 대한 손실을 사용했습니다. 얻어진 활성화 패턴은 예측 될 다른 레이블과 관련하여 독점성에 대해 훨씬 더 해석 가능합니다. [72]의 저자는 입력 이미지의 각 단일 픽셀의 예측에 대한 기여를 열 맵 형태로 시각화하는 것을 예상했다. 그들은 LRP (Layer-Wise Relatedance Propagation) 기술을 사용했는데, 이는 사전 사전 포인트 자체에서 부분 파생 상품보다는 예측 지점에 가까운 Taylor 시리즈에 의존합니다. 시각화의 품질을 더욱 향상시키기 위해 열 맵, 돌출 맵 또는 클래스 활성화 방법 (GradCAM [292])과 같은 귀속 방법이 사용됩니다 (그림 7 참조). 특히, [292]의 저자들은 모든 목표 개념의 그라디언트를 사용하여 최종 컨볼 루션 층으로 유입되어 거친 현지화 맵을 생성하여 중요한 영역을 강조하는 그라디언트 가중 클래스 활성화 매핑 (Grad-CAM)을 제안했습니다. 개념을 예측하기위한 이미지. 앞서 언급 한 기능 관련성 및 시각적 설명 방법 외에도 일부 작품은 이미지의 시각적 내용에 대한 텍스트 설명을 생성하는 것을 제안했습니다. 예를 들어, [91]의 저자는 CNN 기능 추출기와 RNN주의 모델과 결합하여 이미지의 내용을 자동으로 설명하는 법을 배웠습니다. 같은 라인에서 [278]은 세분화 된 분류 작업을 수행하기 위해 3 단계 주의력 모델을 제시했습니다. 일반 모델은 세 가지 유형의주의를 통합하는 파이프 라인입니다. 객체 수준의주의 모델은 입력 이미지에서 후보 이미지 영역 또는 패치를 제안하고, 부품 수준주의 모델은 비 관련 패치를 특정 객체로 필터링합니다. 주의 모델은 차별적 패치를 국소화합니다. 비디오 캡션 작업에서 [111]의 저자는 양방향 LSTM 모델과 결합 된 CNN 모델을 인코더로 사용하여 비디오 기능을 추출한 다음 LSTM 디코더에 공급하여 텍스트 설명을 생성합니다. 두 번째 범주의 주요 작품 중 하나는 [137]입니다. CNN 내부에 포함 된 시각적 정보를 분석하기 위해 저자는 CNN 내부 표현에서 이미지를 재구성하는 일반적인 프레임 워크를 제안했으며 여러 층이 이미지에 대한 사진 적으로 정확한 정보를 유지하고 다른 양의 기하학적 및 광도적 불변성을 유지한다는 것을 보여주었습니다. . CNN이 캡처 한 클래스의 개념을 시각화하기 위해 동일한 저자는 입력 이미지와 관련하여 클래스 점수의 기울기 계산에 기초하여 클래스 점수를 최대화하는 이미지를 만들었습니다 [272]. 같은 방향으로, [268]의 저자들은 CNN에서 주어진 출력 뉴런에 대해 가장 대표적인 이미지를 생성하는 DEG Generator Network (DGN)를 도입했습니다.

CNN의 잠재적 표현의 해석 가능성을 정량화하기 위해 [125]의 저자는 네트워크 해부라는 다른 접근법을 사용했습니다. 그들은 CNN을 통해 많은 수의 이미지를 실행 한 다음 각 단위를 개념 검출기로 고려하여 시맨틱 세분화를 위해 각 단위를 추가로 평가함으로써 상단 활성화 된 이미지를 분석합니다. 이 논문은 또한 학습 된 모델의 해석 가능성에 대한 고전 훈련 기술의 영향을 조사합니다. 위에서 조사한 많은 기술이 지역 전 계획을 활용하여 CNN 모델에 대한 전반적인 설명을 달성하지만, 다른 사람들은 로컬에서 발견 된 프로토 타입을 기반으로 글로벌 설명을 구축하는 데 명시 적으로 중점을 둡니다. [263,294]에서, 저자들은 깊은 네트워크의 국소 전파가 어떻게 하위 수준의 기능에 의해 강력하게 지배되는지를 경험적으로 보여 주었다. 그들은 딥 아키텍처가 이러한 저수준 표현이 어떻게 포착되는지를 변경하는 것을 방지하는 강력한 사전을 제공한다는 것을 보여주었습니다. 대체로 기능 관련성 방법과 혼합 된 시각화는 아마도 CNN의 설명에 대한 가장 채택 된 접근 방식 일 것입니다.

하나의 단일 해석 성 기술을 사용하는 대신 [295]에 제안 된 프레임 워크는 여러 가지 방법을 결합하여 네트워크에 대한 훨씬 더 많은 정보를 제공합니다. 예를 들어, 기능 시각화 (뉴런을 찾는 란 무엇입니까?)와 귀속 (출력에 어떤 영향을 미칩니 까?)를 결합하면 네트워크가 레이블간에 결정하는 방법을 탐색 할 수 있습니다. 이 시각적 해석 성 인터페이스는 시각화 목표에 따라 기능 시각화 및 속성과 같은 다양한 블록을 표시합니다. 이 인터페이스 클래스는 공간 위치가 가장 많이 기여하며, 이는 이후 계층에서 더 의미가있는 경향이 있음) 및 프레젠테이션 (정보 시각화, 기능 시각화). 그림 8은 몇 가지 예를 보여줍니다. 귀속 방법은 일반적으로 픽셀 연관성에 의존하여 입력 예제의 일부가 특정 방식으로 네트워크 활성화에 책임이있는 것을 보여줍니다 [293]. 4.1 라임에 설명 된 바와 같이, 이전에 인용 된 모든 방법에 대한 훨씬 간단한 접근법이 라임 프레임 워크 [71]에서 제안되었다. 이미지 분류에서 Lime은 입력 이미지를 해석 가능한 구성 요소 (연속 슈퍼 픽셀)로 나누어 교란 된 인스턴스 세트를 생성하고 모델을 통해 각 교란 된 인스턴스를 실행하여 확률을 얻습니다. 간단한 선형 모델은이 데이터 세트에서 로컬로 가중치를 부여합니다. 공정이 끝나면 Lime은 설명으로서 가장 높은 양의 가중치를 가진 슈퍼 픽셀을 제시합니다 (그림 9 참조). 적대적 탐지에서 완전히 다른 설명 접근법이 제안됩니다. 적대적 예제를 감지하는 모델 실패를 이해하기 위해 [264]의 저자는 CNN의 각 계층에 의해 학습 된 데이터의 표현에 대해 K-Nearest Neighbors 알고리즘을 적용합니다. 테스트 입력 이미지는 표현이 훈련 이미지의 표현과는 거리가 멀다면 적대로 간주됩니다.

 

4.3.3. Recurrent Neural Networks

시각적 영역에서 CNN에서 발생하는 바와 같이, RNN은 최근 자연 언어 처리 및 시계열 분석에서 주목할만한 존재와 함께 본질적으로 순차적 인 데이터에 대해 정의 된 예측 문제에 대해 광범위하게 사용되었습니다. 이러한 유형의 데이터는 ML 모델에 의해 캡처 될 복잡한 장기 종속성을 나타냅니다. RNN은 데이터에서 배울 수있는 다른 파라 메트릭 특성으로서 뉴런의 지식 유지를 공식화함으로써 이러한 시간 의존적 관계를 검색 할 수있다. RNN 모델을 설명하기위한 기여는 거의 없었습니다. 이러한 연구는 두 그룹으로 나눌 수 있습니다. 1) RNN 모델이 배운 내용 (주로 기능 관련성 방법을 통해)을 이해함으로써 설명 가능성; 그리고 2) RNN 아키텍처를 수정하여 그들이 내린 결정에 대한 통찰력을 제공함으로써 설명 가능성 (지역 설명). 첫 번째 그룹에서 [280]의 저자는 LRP 사용을 RNN으로 확장합니다. 그들은 LSTMS (긴 단기 메모리) 단위 및 Grus (게이트 재발 단위)와 같은 곱셈 연결과 함께 작동하는 특정 전파 규칙을 제안합니다. [281]의 저자는 LSTM GRU 네트워크 내에서 해석 가능한 셀을 구별하는 유한 Horizon N-Grams를 기반으로 시각화 기술을 제안합니다. 아키텍처를 변경하지 않는 전제에 따라, [296] CNN 모델에 사용되는 해석 가능한 모방 학습 증류 방법을 LSTM 네트워크로 확장하여 해석 가능한 기능을 중심적으로 훈련 된 LSTM 네트워크에 강화하여 해석 가능한 기능을 학습 할 수 있도록합니다. RNNS의 내부 작업을 변화시키지 않는 접근법 외에도 [285] 2 단계 신경주의 모델을 통해 영향력있는 과거 패턴을 감지하는 유지 (역 시간주의) 모델을 제시합니다. 해석 가능한 RNN을 만들려면 [283]의 저자는 SISTA (순차적 반복 소프트 임계 값 알고리즘)를 기반으로 RNN을 제공하여 일련의 희소 잠재 벡터로 일련의 상관 관계 관측치를 모델링하여 가중치를 매개 변수로 해석 할 수 있도록합니다. 원칙적 통계 모델의. 마지막으로, [284] HMM (숨겨진 Markov 모델) RNN의 조합을 구성하여 전체 모델 접근 방식이 HMM의 해석 가능성과 RNN 모델의 정확도를 활용합니다.

 

4.3.4. Hybrid transparent and black-box methods

KBS (Knowledge Base)의 논리적 진술 또는 제약의 형태로 배경 지식의 사용은 순수한 데이터 중심 접근 방식과 관련하여 설명 성뿐만 아니라 성능을 향상시키는 것으로 나타났습니다 [297–299]. 표시된 긍정적 인 부작용은이 하이브리드 접근법이 교육 데이터 레이블에 오류가있을 때 학습 시스템에 대한 견고성을 제공한다는 것입니다. 다른 접근법은 상징적 및 하위 상징적 표현과 추론을 통해 공동으로 배우고 추론 할 수있는 것으로 나타났습니다. 흥미로운 측면은이 혼합이 엔드 투 엔드 방식으로 표현적인 확률 론적 추론을 허용한다는 것입니다 [300]. 성공적인 사용 사례는식이 권장 사항에 관한 것이며, 이는 (비 깊이이지만 KB 기반) 모델의 추론에서 설명이 추출됩니다 [301]. 따라서 미래의 데이터 융합 접근법은 다른 도메인 정보 소스를 외부화함으로써 설명 가능성으로 DL 모델을 기부하는 것을 고려할 수 있습니다. 고전적인 ML 모델의 깊은 공식화 ( : DEP KALMAN 필터 (DKFS) [302]에서, 깊은 변형 베이 에스 필터 (DVBFS) [303], 구조적 변형 자동 인코 코더 (SVAE) [304] 또는 조건부 임의의 필드는 RNN [305]. 이러한 접근법은 확률 론적 그래픽 모델에 내재 된 해석 가능성을 깊은 모델을 제공합니다. 예를 들어, SVAE는 임베딩 공간의 확률 적 그래픽 모델을 신경망과 결합하여 DKF의 해석 가능성을 향상시킵니다. DL 대응 물로 향상된 고전적인 ML 모델의 특정 예는 가장 가까운 이웃 DKNN [264]이며, 여기서 이웃은 인간의 해석 가능한 예측에 대한 설명을 구성합니다. 직관은 증거에 근거한 DNN 예측의 합리화에 근거합니다. 이 증거는 자신감의 특성화로 구성됩니다

DNN 내의 표현의 계층 구조에 걸쳐있는 신뢰성이라고 불리는 것은 훈련 데이터에 의해 뒷받침되어야한다 [264]. 하이브리드 XAI 모델에 대한 다른 관점은 [24]에 제기 된 바와 같이 투명한 것 중 하나와 함께 블랙 박스 모델 지식을 풍부하게하고 [169] [307]에 더 세련되었다. 특히, 이것은 시맨틱 KB와 바이어스가 발생하기 쉬운 개념 덕분에 신경망을 제한하거나 [169] 또는 흰색과 검은 색 모델 모델을 포함하는 앙상블을 쌓아서 수행 할 수있다 [307]. 지식 기반 도구 또는 그래프 관점이 신경 ( : 언어 [308]) 모델이 [309,310]에있는 하이브리드 기호 및 하위 상징적 방법의 다른 예. 강화 학습에서, 상징적 인 예 (그래픽 [311] 또는 관계형 [75,312]) 하이브리드 모델의 예는 거의 없으며, 예를 들어, 설명 가능한 자동 인코더가 제안 된 반면, 권장 시스템에서는 [313]. 특정 변압기 아키텍처 기호 시각화 방법 (음악에 적용됨)은 소프트 최대주의가 어떻게 작동하는지를 보여줍니다 [314]. 자가 참조, 즉 마지막주의 층의 마지막 층을 시각화함으로써 Arcs는 과거에 어떤 메모가 미래를 알리고, 관련 섹션을 덜 주목하는지 보여줍니다. 트랜스포머는 또한 이미지 캡션을 시각적으로 설명하는 데 도움이 될 수 있습니다 [315]. 또 다른 하이브리드 접근법은 해석 할 수없는 블랙 박스 시스템을 해석하기 쉬운 화이트 박스 트윈에 매핑하는 것으로 구성됩니다. Ex-샘플의 경우, 불투명 한 신경망은 투명 사례 기반 추론 (CBR) 시스템과 결합 될 수 있습니다 [316,317]. [318]에서, DNN CBR (이 경우 KNN)은 동일한 정확도를 유지하면서 해석 가능성을 향상시키기 위해 쌍을 이룹니다. 예제에 의한 설명은 DNN의 예측을 설명하기 위해 가장 가까운 이웃 사례를 검색하기 위해 CBR에서 사용되는 DNN의 기능 가중치를 분석하는 것으로 구성됩니다. (그림 10)

 

4.4. Alternative taxonomy of post-hoc explainability techniques for deep learning

DL은 최근에 대부분의 연구가 집중되어 XAI에 관한 최근의 대부분의 문헌에서 중심이 된 모델 패밀리입니다. 모델 공유와 모델 별 사이의 분할이 가장 일반적인 구별이지만, 커뮤니티는 XAI 방법을 분류하기위한이 기준에 의존 할뿐만 아니라. 예를 들어, SHAP [224]와 같은 일부 모델 공유 방법은 DL 모델을 설명하는 데 널리 사용됩니다. 그렇기 때문에 여러 XAI 방법이 다른 분류 분기에서 쉽게 분류 할 수 있습니다. 예를 들어, 이미지를 다루기 위해 배타적이지 않은 CNN에도 사용할 수있는 라임이 있습니다. 대체 DL 분류 내에서 검색하면 라임이 일종의 선형 프록시 모델로서 깊은 네트워크 처리를 설명하는 데 명시 적으로 사용할 수 있음을 보여줍니다. 다른 유형의 분류는 실제로 [13]에서 3 가지 범주를 기준으로 세분화하는 것이 제안됩니다. 첫 번째 범주는 네트워크에 의한 데이터 처리를 실행하는 방법을 그룹화하여이 특정 입력이 왜이 특정 출력으로 이어지는가? ".". 두 번째는 네트워크 내부의 데이터 표현을 설명하는 방법, 네트워크에 어떤 정보가 포함되어 있습니까? ".". 세 번째 접근 방식은 자신의 행동의 해석을 단순화하도록 특별히 설계된 모델에 관한 것입니다. 이러한 다중 분류 가능성은 XAI 분류법을 구성하는 다른 방법으로 이어집니다.

그림 11 [13]에서 추론 된 대안적인 딥 러닝 분류법을 보여준다. 후자로부터,이 분류의 상보성과 오버 랩핑을 그림 6으로 추론 할 수있다. [13]의 분류를 고려할 때 단일 범주 (Salience Mapping을 사용한 심층 네트워크 처리에 대한 설명)에 포함됩니다.

• 일부 방법 [82,144]은 단일 범주로 분류됩니다 (그림 6의 다층 신경 네트워크에 대한 단순화에 의한 설명) 2 가지 다른 범주 (, 의사 결정 트리를 사용한 깊은 네트워크 처리에 대한 설명 및 심층 네트워크 표현의 설명 [13]에서 표현 벡터의 역할로, 11에 도시 된 바와 같이. 모델 처리 및 모델 표현의 실행에 대한 설명에 기초한 분류는 모델의 실행 추적과 내부 데이터 구조 사이의 차별화로 이어 지므로 관련이 있습니다. 이는 복잡한 모델의 고장 이유에 따라 필요한 정보 (실행 추적 또는 데이터 구조에 따라 올바른 XAI 메소드를 선택할 수 있음을 의미합니다. 이 아이디어는 정기적 인 프로그래밍 패러다임에 사용되는 테스트 및 디버깅 방법과 유사하다 [346].

댓글