티스토리 뷰

Hobby/Book

[Book] 딥러닝을 바라보는 새로운 관점

생각많은 소심남 2020. 12. 15. 00:02

(해당 포스트에서 소개하고 있는 "안전한 인공지능 시스템을 위한 심층 신경망 강화" 책은 한빛미디어로부터 제공받았음을 알려드립니다.)

 우리 삶속을 살펴보면 인공지능 기술들이 접목된 것들이 많이 보인다. 길을 지나가다 봐도, 다 인공지능과 관련 기술들을 선전하고, 사람들은 거기에 매력을 느끼는 것 같다. 문제는 너무 이런 경향이 심해져서, 심지어는 인공지능 기술에 맹신하는 의견들도 있다는 것이다. 

그림 1. 인공신경망의 잘못 인식된 예

 위의 예시는 Berkeley BAIR에서 제시한, physical adversarial example의 예시다. 단순하게만 보면 그냥 표지판을 병이라고 잘못 인식한 것이라고 생각할 수 있겠지만, 만약 자율주행을 목적으로 학습된 인공지능 모델이 이런 표지판을 위와 같이 잘못 인식했다면 어떤 결과가 나올까? 대부분이 예상할 수도 있겠지만, 멈추지 않고, 그냥 병이라고 생각하고 지나칠 것이다. 사람이라도 그 경로상에 놓여있으면 위험한 상황까지 초래할 수 있다. 이렇듯 인공지능이 실제 생활속으로 접목되기 위해서 안전, 보안적인 요소까지 고려해야 된다.

이번에 소개할 책은 뭔가 딥러닝 모델을 구현하고, 실습해보는 여타 인공서적과는 다르게 앞에서 언급한 딥러닝의 안전성과 강건성(robustness)에 대해서 이론적으로 언급된 책이다. 그래서 책을 딱 펴고 읽다보면, "이게 진짜 딥러닝 책 맞아?" 하는 생각을 잠시 가져볼 수 있다. 물론 안에 이런 특성을 설명하기 위한 예시와 코드로 구현된 부분이 있긴 하지만, 책 내에서는 그렇게 큰 비중을 차지하지 않는다. 데이터도 딱하나 Fashion-MNIST만 가지고 설명한다. 

 대신 하나의 데이터셋만 가지고도 이 책의 제목이 의도했던 부분을 잘 설명하기에는 충분하였다. 사실 이 책을 읽기전까지만 해도 인공지능에서 사용되는 적대적(adversarial) 이란 개념은 요새 많이 언급되고 있는 GAN (Generative Adversarial Network)에서 주로 활용되는 줄만 알았지, 이렇게 모델 자체의 안정성을 강화시키는데 쓰인다고는 자세히 알지 못했다. 그런데 이 책에서는 흔히 알고 있는 데이터들 가지고도 학습된 모델이 어떤 맹점을 가지고, 이를 해결하기 위해 어떤 이론을 적용하면 좋을지를 논리적으로 기술하였다. 또한 많이 쓰이는 데이터 유형인 이미지나 음성 별로 문제가 발생할 부분이나 이에 대한 대처 방안을 소개한 부분은 해당 유형을 통해서 학습을 시키는 모델의 성능을 개선하는데 도움이 될 거라고 생각한다.

 다만, 책에 담고 있는 내용이 인공지능에 대한 기본적인 내용은 간략하게만 짚고 넘어가며, 이 책에서 다루고 했던 내용위주로 주로 기술되어 있기 때문에 처음 이 분야를 접하는 사람한테는 조금 어렵게 느껴질 수 있는 부분이고, 수많은 인공지능 분야 중 딱 안정성쪽에 초점을 맞추고 작성되어있기 때문에 분량이 그렇게 많지 않다.(책도 약 250p 정도로 인공지능 서적치고는 조금 얇은 편이다.) 예시도 생각보다는 적은 예시를 다루고 있어, 뭔가 실제로 이런 기술을 적용해보고 실습하려는 사람은 약간 생각한 것과 다름을 느낄 수 있을 것이다. 그런데 반대로 생각하면, 모델을 강화시키는데 핵심적인 내용과 이론만 딱 담겨져 있기 때문에, 원하는 부분만 발췌하려는 사람한테는 적당할 수도 있다. compact라는 단어가 이 책한테는 어울릴 것 같다. (추가로 각 이론적 배경별 reference도 잘 달려있어서, 추가로 더 논문을 살펴보고자 하는 사람한테는 도움이 될 부분이다.)

 글 제목에도 썼던 것처럼 이 책은 여타 책과는 다르게 딥러닝 구현에 대한 새로운 관점을 제시하는 부분이 있다고 생각한다. 그동안은 모델의 성능, 눈으로 보기에 현란한 기술들에만 초점을 맞췄지만, 앞으로는 그런 것들과 더불어 인공지능의 안정성에 대해서도 조금 고민을 해봐야할 때라고 생각한다. 사실 항상 믿어왔던 인공지능이 뭔가 필요한 상황에서 제대로 동작하지 않는다면, 오히려 그 위험을 알고 있을 때보다도 더 충격이 와닿을 수도 있다. 그런 관점에서 이 책은 뭔가 해결책까지 제공하지는 못하더라도, 안정성에 대해서 고려가 필요하다는 점과 이를 극복하기 위한 방안을 이론적으로 잘 설명한 책이라고 생각한다.

참고: 책에 다 담겨있지는 않지만, 원서 github에 가면 이런 이론 배경에 대해 실습한 예시들이 잘 소개되어 있다. 관심있으면 참고하면 좋을것 같다.

 

katywarr/strengthening-dnns

Code repository to accompany the O'Reilly book: "Strengthening Deep Neural Networks: Making AI Less Susceptible to Adversarial Trickery" - katywarr/strengthening-dnns

github.com

 

댓글