저는 컴공아닌 공대생이었구요, 공대 필수로 듣는 C와 python, 그리고 선형대수학을 비롯한 수학과목들을 수강했었습니다. 지금은 대학원에서 딥러닝 관련 공부중에 있습니다. 저도 아직 계속해서 공부중이긴 하지만, 아예 쌩판 노베이스인 비전공자 분들을 위해서 조그만 로드맵? 정도를 제공해드리면 더 쉽게 시작하시지 않을까 하고 이 글을 적게 되었습니다. 물론 저보다 더 경험이 많으신 분들이라면 댓글로 좋은 공부 자료들 추가해주시면 너무너무 감사하겠습니다. 그럼 시작!
일단 인공지능을 시작해보고 싶은 비전공자분들께 준비물은 딱 하나라고 생각됩니다. 파이썬 하나만 하실 줄 아신다면 바로 시작하셔도 무방합니다. 고등학교까지 배웠던 수학에, 파이썬으로 자신이 원하는 코드를 구글링 해서 구현할 수 있다면 충분합니다. 파이썬을 한번도 다뤄본 적이 없다면 유튜브나 블로그나 강의자료는 넘치고 흐르는 정도이니 넉넉잡고 한달만 투자하시면 됩니다. 제 블로그에도 파이썬 요약 시리즈가 있으니 필요하신분들은 확인해보시면 좋을 것 같습니다.
물론 여기서 보다 깊은 공부를 위해서는 여러 컴퓨터 관련 과목들을 같이 준비해주시면 좋겠지만, 내가 인공지능이 적성에 맞을까? 하는 단계에서는 필요없다고 생각됩니다.
1. 흐름잡기
가장 먼저, 유투브에 인공지능 간략정리 이런 거 검색해서 대충 흐름을 잡습니다. 인공지능이 어느어느 분야에서 사용되고, 대충 어느 정도까지 발전했구나! 그래도 아직 인간을 지배하는 인공지능? 말도 안되는 소리구나! 까지만 잡으시고 다시 돌아옵니다.
2. Cs231n
컴퓨터비전/딥러닝계의 교과서입니다. 그냥 필수로 무조건 그냥 들으셔야 하는 필수코스 입니다.저는 3번 돌려봤어요. 워낙 유명한 강의이기 때문에 한국어 번역도 잘 되어있고, 정리해논 블로그들도 많습니다. 저도 블로그에 정리해 놓았으니 참고하실 분들은 아래 링크로! 머리에 2번씩은 넣어 놓는 것이 좋을 것 같습니다.
https://oculus.tistory.com/6?category=500795
3. Pytorch 듀토리얼
파이토치냐 텐서플로우냐는 개인 취향이겠지만 요즘에는 전자를 더 많이 쓰는 것 같습니다. 최근 논문들도 파이토치 구현이 더 많은 것 같아서 특히나 나중에 연구가 목적이신 분들은 파이토치로 가시는 것을 추천드립니다.
공식 사이트에서 제공되는 듀토리얼도 상당히 좋은 퀄리티로 제공되고 있습니다. 한번씩은 다 실습해두면 좋을 정말 기본에 충실한 듀토리얼입니다.
다음은 카이스트에서 제공하는 딥러닝 홀로서기 시리즈입니다. 개인적으로 내용들이 상당히 도움이 많이 되었습니다.
https://www.youtube.com/watch?v=hPXeVHdIdmw&list=PLSAJwo7mw8jn8iaXwT4MqLbZnS-LJwnBd
그 다음은 모두를 위한 딥러닝 시즌 2입니다. 한국어 강좌이구요, 지금부터는 겹치는 내용들이 많이 나올겁니다. 필요하거나 헷갈리는 부분들만 뽑아서 수강하시는 것을 추천드립니다.
https://www.youtube.com/watch?v=7eldOrjQVi0&list=PLQ28Nx3M4JrhkqBVIXg-i5_CVVoS1UzAv&index=1
여기까지 수강하셨다면 딥러닝이 뭔지 일단 마음속에 정립이 되셨을 겁니다. 아직 아예 모르시겠다면 위의 자료들을 잘 정리해논 블로그들을 정독해보세요!! 사람들.. 정리 잘하시더라구요.. ㅎㅎ
4. 조그마한 구현 시작
3번까지 해봤다면 데이터로더가 뭔지, 데이터 처리를 어케하면 되는지, forward backward를 어떻게 구현하는지 한번 시식코너에서 맛봤다! 고 생각하시면 될 것 같습니다. 이제는 기본적인 모델들을 구현해보면서 익힐 차례입니다.
한요섭님의 딥러닝 할껀데, 실습만 합니다. 시리즈를 추천드립니다.
https://www.youtube.com/watch?v=kVaBDpwgsGg&list=PLqtXapA2WDqbE6ghoiEJIrmEnndQ7ouys
강의 보면서 따라하면 3번을 복습하면서 다양한 모델들을 한번씩 구경해볼 수 있습니다.
5. 깃허브 돌아다니기
여기까지 다 오셨다면, 이제 혼자서 모델 구현이 가능합니다. 이제 어떤 분야를 더 공부해 볼 것인지 세부적으로 정할 타이밍이 왔습니다. 컴퓨터 비전만 하더라도 연구분야가 어후.. 너무 많기 때문에 일단 하나 정하시고! 대표모델들을 서버에서 돌려보고, 조금씩 바꿔보면서 공부를 합니다. 이 서버와 환경 구축도 증말 짜증나는 일이기 때문에 6번에서 설명해보겠습니다.
일단 분야를 정하셨다면, paperwithcode에서 자신의 분야에서 state-of-the-art (sota) 모델부터 살펴보고, 대표적인 모델들을 한번 사용해볼 겁니다.
또한 구글에 “awesome (분야이름) github” 라고 치면 누군가가 친절하게 주목할만한 논문들을 정리해 놓았습니다. 예를 들면, 구글에 “awesome object detection github”을 치면 분명 누군가가 정리해놨을겁니다. ㅎㅎ
이제 논문을 대충 읽어보시고(연구에 관심이 없으시다면 abstract, conclusion만 읽어도 무방) 제공되는 코드를 돌려보시면 됩니다. 이거는,, 설명이 너무 길어질 것 같아서 나중에 도커시리즈나 환경구축 시리즈에서 같이 다루도록 할께요.
여기까지 다 하셨다면 이제 구현, 더 넘어가서 연구의 단계입니다. 경험치가 중요하고, 분야별로 공부해야할 방향들이 다 다를겁니다.
6. 딥러닝 환경 구축
저는 서버컴에 도커 설치해서 파이참과 연동해서 사용하고 있습니다. Colab, 주피터 등등 선호에 따라 너무 달라질 것 같네요. 나주엥 도커에 관해서도 작성해보도록 하겠습니다.
파이팅!
+ 글이 도움이 되셨다면 배너 광고를 클릭해주시면 제게 큰 도움이 됩니다! 감사합니다 ㅎㅎ
+ 질문/소통은 댓글로 언제든지 남겨주세요 :)
'컴퓨터공학' 카테고리의 다른 글
Pytorch loss nan 문제 (0) | 2022.02.11 |
---|---|
Pytorch 시드 고정하는 법 (0) | 2022.02.10 |
원격 서버 도커에서 텐서보드 사용하는 법 (0) | 2022.02.07 |
pdb 기본 사용법 (0) | 2022.01.13 |
서버 gpu에서 프로세스 실행 후 남아있는 메모리 정리하기. (0) | 2022.01.11 |