AI 만들기 : 강화학습과 인공신경망 완전 정복 강의 링크
강의 소개
제목 그대로 강화학습과 인공신경망에 대해 다루는 강의다. 조금 더 설명을 보태면, AI 입문자도 해당 강의를 통해 인공지능과 강화학습의 최신 방법론을 익힐 수 있다고 한다. 인공지능과 강화학습에 대한 로망은 가득하지만, 정작 별로 아는 건 없는 초보 중에 초보라 강화학습에 대한 공부를 계속 미뤄왔는데, 아래의 강의 소개를 보고 용기를 내어 강의를 신청했다.
강의를 듣기 위해서는 기초 수학과 Python에 대한 기초 문법 숙지가 필요하다고 설명하지만... 강의를 들어본 결과, 더 높은 수준의 지식이 필요할 것 같다. 이 부분에 대해서는 아래에 좀 더 자세히 설명하려고 한다.
강의의 구성은 크게 이론과 실습코드를 설명하는 2가지 파트로 되어 있다. 각 파트(Q-러닝, 딥 Q-러닝, 컨볼루셔널 딥 Q-러닝, A3C)에 대한 이론을 먼저 설명하고 이후에 템플릿 코드를 설명하는 식으로 되어 있다.
강의에서 기대한 것
강화학습에 대한 이론적 토대를 쌓고, 강화학습 코드를 따라하면서 강화학습 뉴비도 가볍게 강화학습을 찍먹할 수 있지 않을까라고 생각했었다. 강의에서 입문자를 대상으로 한다고 명시해 놓고 있어서 깊은 수준은 아니더라도 강화학습에 대해 "아 이렇구나" 정도를 배울 수 있을 거고, 여기서 강화학습에 대한 흥미가 생긴다면 조금씩 더 뻗쳐나가는 방식으로 공부해봐야지 생각했었는데....
강의 목차에 생전 들어보지 못한 개념들(딥큐러닝, A3C 등..)이 빼곡히 적혀 있던 걸 경계했어야 했다. 입문자를 대상으로 이렇게나 많은 범위를 다룬다는 건 내 기대와 다르게 강의가 빠르게 후루룩 넘어갈 수도 있다는 복선이기도 했다. 그 때의 나는 강화학습에 대한 로망으로 가득 차서 "아 강화학습이라는 게 생각보다 어렵지 않은 건가보다. 17시간 만에 이 많은 걸 다 익히게 해준다고?"라고 싱글벙글했었다.
그리고 파이썬에 대한 기초 문법에 대한 언급이 있어서, 지나치게 어려운 코드는 지양하고 나오더라도 천천히 + 차근차근 설명이 될 것이라고 생각했다. 기초 문법이라는 게 사람마다 다 생각하고 있는 기준이 다르다는 것이 복병이기는 했지만, 이 역시도 강의를 듣기 전까지는 문제가 될 것이라고 생각하지 못했다.
실제 강의를 들었던 소감
1. 초반부의 이론 설명이 좋았다.
Part0. 큐러닝 직관 파트의 개념 설명은 꽤나 좋았다. 그래서 초반부에는 강화학습에 대해 갖고 있던 좋은 이미지를 쭉 가져갈 수 있었다.
목차 부분에 강화학습 관련 주요 개념을 명확히 명시하고, 개념에 대한 설명을 한 가지 예시(미로)로만 일관성 있게 설명해줬다. 오히려 예시를 여러 가지로 제시해줬으면, 더 헷갈렸을 수도 있을 것 같은데 정말 우직하게 하나의 예시로만 설명해줘서 일관성이 깨지는 부분도 없고 이해 + 복습하는데 용이했다.
2. Spyder에 대한 설명이 없는 게 아쉬웠다.
해당 강의에서는 IDE로 Spyder를 사용하는데, Pycharm은 써봤어도 Spyder는 처음 써보는 거라 UI부터 익숙하지 않았다.
이것저것 눌러보다 보면 직관으로 대충 이렇게 동작하겠거니 때려 맞출 수 있지 않을까 싶었는데, 문제는 초반부터 발생했다. 강의에서 가볍게 맛보기 느낌으로 소개해주는 것 같기는 했지만, 스파이더를 사용해서 뭔가 실습을 진행하는데 강의를 듣는 나는 이 실습을 어떻게 해야 재현할 수 있는지 알 수 없었기 때문이다.
일반적인 다른 강의는 초반부에 IDE 사용법에 대해서 간단하게 설명해주는 부분이 있던 것 같았는데, 해당 강의는 IDE에 대한 설명은 따로 없어서 코드를 불러오는 것부터 애를 먹었다.
물론 나에게는 구글과 손가락이 있기에 검색을 할 수는 있었지만, Spyder의 문제인지 아니면 템플릿 코드 자체의 문제인지 어떤 코드는 끝끝내 실행이 되지 않아 강의 설명대로 "AI를 직접 구현"할 수는 없었다..
3. 사실은 Pytorch에 대한 선행지식이 필요했다.
앞서 파이썬의 기본 문법을 익히는 것이 요구 사항이었다고 말했는데, 파이썬이 아니라 Pytorch에 대한 선행지식이 필요했다. 당연히 AI 모델링을 구현하는 부분은 Tensorflow든 Pytorch든 딥러닝 관련 framework를 쓸 수도 있을 거라고 예상했지만, 이렇게나 코드 실습을 속도감있게 쭉쭉 넘어갈 줄은 몰랐다.
물론 코드에 대한 간단한 설명(코드의 역할 같은 것들)은 해주지만, Pytorch에 대해서 모르는데 코드의 역할만 알아서는 코드를 제대로 이해할 수 없었다. Pytorch를 따로 배우는 것은 그 자체로도 공부할 것이 많아서 강화학습에 대한 찍먹을 하자고, Pytorch까지 넘어가는 건 도저히 엄두가 나지 않았다.
선행지식으로 파이썬과 더불어 Pytorch를 알아야 한다고 명시해줬으면 덜 혼란스러웠을 것 같은 아쉬움이 있다.
강의를 듣고 난 이후의 변화
왜 사람들이 강화학습은 어렵다고 말하는지에 대한 이유를 명확하게 알 수 있었다. 문외한이 감히 찍먹할 수 없는 분야라는 것을 여실히 느꼈다. 개념을 가볍게 찍먹하기에는 그 앞에 갖추어야 할 선행지식(딥러닝 개념, CNN, Markov Process 등 베이지안 통계와 연관된 것들 + 딥러닝 Framework)이 너무 많았다.
그나마 개념을 가볍게 배워보고 싶다면, "바닥부터 배우는 강화학습 (노승은 저)" 책을 보는 것이 제일 효과적일 것 같다. (당연하지만 상대적인 가벼움이다. 입문자인 나에게는 이 책도 버거웠다.)
강화학습에 대한 로망으로 책도 이것 저것 많이 사뒀는데, 지금 단계의 나는 아마 봐도 이해가 안 갈 거라는 메타인지가 강화되는 효과가 있었다.
강의 추천 대상
그래서 돌고 돌아 해당 강의는.... 나같은 입문자에게 추천하기는 어려울 것 같다. 다만 다루고 있는 내용이 다양하므로, 강화학습에 대한 지식을 갖춘 사람이 핸드북처럼 가볍게 복습하기에는 괜찮을 수도 있을 것 같다.
개념 부분은 확실히 조목조목 잘 짚어줬기 때문에 강화학습에 대해 어느 정도 선행지식이 있는 사람이라면 지식을 빠르게 복습하고, 템플릿 코드를 따라하면서 빠르게 감을 잡을 수 있을 것 같다는 생각이 들었다.
해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공 받아 작성되었습니다.
'TIL' 카테고리의 다른 글
유데미(Udemy) 기술블로그로 알아보는 테크니컬 라이팅 수강후기 (feat. 좋은 기술 블로그를 만들어보자!) (2) | 2023.12.30 |
---|