1. Understanding Deep Learning 책을 고른 이유
매일매일 AI를 쓰면서 AI가 앞으로 얼마나 세상을 더 바꿀지 기대가 된다. 때로는 너무 어려워 보여서 내가 할 수 있을까 하는 의구심이 들기도 했지만 컴퓨터 자체를 좋아하고 그나마 수학이 할만한 것 같으면서 내가 원하는 것을 만들 수 있다는 매력 때문에 AI를 제대로 공부를 해보려 한다.
Python 스터디가 끝나고 다음으로 어떤 자료를 공부할지 고민했다. Huggingface의 LLM Course를 할지, Pytorch의 Tutorial을 할지 논의도 해봤는데 기초 Deep Learning 개념이 부족하다고 느껴 수학적으로 DL을 공부하고 싶었다. 찾아보니 꽤나 최근에 출판되었으면서도 기본 모델인 CNN, RNN 등 부터 최신 개념인 Transformer, Diffusion 등 전반을 걸쳐 다루면서, Pytorch를 사용하고 무료 자료이면서 코드 자료가 공개된 UDL이 있다는 것을 알게 되었다. 그래서 이 책을 본격적으로 공부해보고자 한다.
이번 포스팅 시리즈에서는 책의 라이센스 때문에 상세하게 번역하거나 요약하기보다는 스터디 그룹 내에서 공부를 하고 각자 느낀 점과 핵심을 담은 감상평 정도만 담으려 한다.
2. AI의 종류
Supervised learning, Unsupervised learning, Reinforcement learning이 뭔지와 Deep learning이 Machine learning 내에 포함된다는 것은 대략적으로 알고 있었다. 그런데 이들이 정확히 어떻게 관련이 있는지는 명확히 몰랐는데 이제 확실히 알 수 있었다. 책에서 첫 번째로 보인 그림이 이 관계를 한 눈에 보여주었다. ML, DL 모두 Supervised, Unsupervised, Reinforcement를 가지고 있다는 것이다.
이때 ML과 DL의 차이점은 DL은 deep neural network를 사용해서 input과 output을 보다 훨씬 복잡하고 다양하며 길이가 서로 다른 매핑을 할 수 있다고 한다. 이 부분에서도 DL이 어떻게 ML에 포함되는지 생각해본 적이 없었는데 단순히 좀 더 복잡한 매핑을 할 수 있다는 것으로 이해하니 간단해지는 것 같다.
Supervised learning은 Regression과 Classification problem으로 나눌 수 있고, 각각은 단일 값을 예측하는지, 여러 값을 예측하는지에 따라 multivariate regression과 multiclass classfication의 세부 분류가 있다고 한다. 사실 기본적인 개념인데 다시 정리하니 좀 더 분명해진 것 같다. 이 문장을 읽으면서 든 생각은 그러면 unsupervised learning, reinforcement learning에는 regression, classfication이 없는지 궁금해졌다. 하지만 조금만 생각해보면 unspuervised learning은 input data의 패턴을 학습하는 것이고 reinforcement learning은 실세계와 agent의 행동을 매핑하는 것이니 없겠다는 생각이 바로 들었다.
한편 Latent variables라는 개념은 처음 들어봤는데 흥미로운 내용이었다. 이론적으로 존재 가능한 값의 수보다 실제로 data가 보다 저차원이라는 내용이다. 예를 들어 아무 UTF-8 문자를 랜덤하게 나열한 100자의 문자열은 매우 많겠지만 그중 어느 정도 말이 되는 한국어 문장은 매우 적을 것이다. 그래서 이 저차원 variable을 generative model에서 사용한다는 것이다. 그렇다면 처음에는 latent variable을 사용하고 나중에 차원수를 높여 보다 세부적인 예측도 가능하지 않을까 싶다.
3. AI 윤리 의식
책에서 여러 윤리 의식에 대해 이야기를 해주고 있다. AI를 공부하고 만드는 연구자는 이 위험성에 대해 분명히 알고 있어야 한다는 내용이었다. 편향성, 설명성, 무기화, 권력집중화, 존재적 위험이 그 내용이다. 현재 AI 발전 속도는 더욱더 빨라지고 있는데 발전이 되면 될 수록 이 위험들이 더 커지는 것 같다. 단순 규제만으로는 해결하기 어려운 문제들인 것 같고 한 번에 정리해서 보니 AI의 성능 뿐 아니라 사회적 문제점을 어떻게 해결할 수 있을지도 고민해봐야겠다는 생각이 든다.
4. 마치며
다음 장부터 제대로 된 내용을 시작하는데 큰 틀에서 AI가 어떻게 구성되는지 알 수 있어 흥미로웠다. 자료는 잘 고른 것 같고 끝까지 공부를 빨리 해보고 싶다는 생각이 든다. 작년에 YeYa라는 안드로이드 스마트폰 제어 에이전트를 만들었고 여전히 화면상 작업 수행을 잘하는 AI를 연구해보고 싶다는 생각을 가지고 있다. 그런데 reinforcement learning의 개념 정의를 살펴보니 완전 내가 생각하는 것과 딱 맞는 것 같아서 reinforcement learning을 더 자세히 알아보고 싶어진다. 하지만 아쉽게도 제일 마지막 장에 있는데 supervised, unsupervised를 알아야 해서 그런가 싶다.
Reference
[1] Prince, S. J. D. (2023). Understanding Deep Learning. The MIT Press. Retrieved from http://udlbook.com