Story

비전공자 학사 출신의 AI 연구원 도전기 (2)

Like_Me 2021. 11. 20. 13:39
반응형

안녕하세요. 지난 글에 이어서 이번에는 실력을 쌓기 위해 어떤 것들을 했는지 구체적으로 풀어보겠습니다. 많은 도움이 되시길 바랍니다.

기초를 탄탄히?!

AI 공부는 프로그래밍, 영어, 수학, 통계학 실력을 필요로 합니다. 참고로 저는 처음 공부를 시작했을 때 프로그래밍을 잘 알지 못했습니다. 영어 공부도 수능 이후로 해본 적이 없었고 수학은 그나마 학과 공부로 조금 한 정도였습니다. (상중하로 표현하자면 프로그래밍 하, 영어 중, 수학 중 정도 실력이었습니다.) 그러면 '이것들을 기초부터 탄탄히 쌓아야 할까?'라는 고민을 자연스레 하게 됩니다. 하지만 저는 졸업과 동시에 취업이 목표였기 때문에 시간이 1년 반 정도밖에 남지 않은 상황이었습니다. 그래서 'AI 공부를 바로 시작하되 모르는 게 나올 때마다 공부해보자'라는 생각으로 무작정 시작했습니다. 지금 와서 생각해봐도 이때 기초 공부를 생략하고 바로 시작한 것이 좋은 선택이었다고 생각이 듭니다. 기초 공부만 하다가 지친 경우를 많이 봤기 때문입니다.

유명한데는 이유가 있다.

AI 기초는 유명한 유튜브 강의인 김성훈 교수님의 '모두의 딥러닝'을 수강하였습니다. (저는 시즌1을 수강하였는데 현재는 2까지 나온 것으로 알고 있습니다. 딥러닝 이론과 그것을 구현하는 방법까지 한국말로 친절하게 설명해 주셔서 한국 입문자에게 적절한 강의라 생각합니다.) 강의도 길지 않고 핵심적인 부분들을 설명해 주셔서 빠르게 기초를 마칠 수 있었습니다. 이미 느끼셨을 수 있는데 저는 기초에서 시간을 많이 끌지 않고 실전으로 넘어가서 부딪히며 배우는 것을 좋아하는 타입입니다. 그런 저에게 적합한 강의였다고 생각합니다. (기초를 더 탄탄히하고 넘어가고 싶으신 분들은 stanford의 앤드류 응 교수님이나 첼시핀 교수님 강의를 추천드립니다. 영어가 부담스럽다면 패스트캠퍼스, 인프런 등의 한국 강의도 괜찮다고 생각합니다.)

파이썬, 피할 수 없다면 즐겁게.

딥러닝을 배울 때, 실험할 때 가장 많이 쓰는 언어는 파이썬입니다. '모두의 딥러닝'을 볼 때 파이썬을 잘 몰라 기초 공부의 필요성을 느꼈습니다. 그래서 파이썬 사용법을 익히기 시작했습니다. 파이썬은 'nomad coder의 크롤링 강의'로 배웠습니다. 무료 강의면서 기초적인 내용을 간단하고 짧게 설명해주며 웹에 있는 데이터를 끌어올 수 있는 스킬까지 알려주어 좋은 강의라 생각됩니다. 혹시 아직 기초를 모르신다면 추천드립니다.
사실 딥러닝을 위한 파이썬 공부는 이 정도만 했어도 충분했을 것 같은데 하다 보니 재미를 많이 느꼈습니다. 그래서 selenium, django, flask 등을 이용해서 여러 사이트를 크롤링해 오거나 웹사이트를 만들어보며 많은 공부를 했습니다. 중간에 딴 길로 새긴 했지만 결과적으로 그런 경험들이 나중에 프로젝트를 할 때, 회사에서 일할 때 큰 장점이 되었다고 생각합니다.

두 마리 토끼를 한번에!

첫 번째 글에서 비전공 학사 출신의 한계를 극복하기 위해 나름의 전략을 짰다는 것을 말씀드렸습니다. 크게 2 가지로 회사에서 원하는 내용을 충족시키기, 취업이 안될 때를 대비하기입니다. 첫 프로젝트를 시작할 때도 이를 고려한 것을 하고자 했습니다. 마침 저는 예전에 경제학을 공부했었고 AI 투자 프로그램을 만들어봐도 재미있겠다고 생각했습니다. AI 자체의 공부도 많이 될뿐더러 잘 되면 굳이 취업 안 해도 되겠다는 원대한(?) 꿈에 부풀어 프로젝트를 기획했습니다.
먼저 AI를 만들려면 데이터가 필요합니다. 증권사 api 사용법을 익혀서 과거 가격 데이터들을 불러왔고, 파이썬을 배울 때 익혀 두었던 크롤링 기술을 사용하여 재무제표를 수집했습니다. 처음에 무작정 데이터를 때려 넣고 AI를 만들면 안 될게 뻔해서 다른 기업들에서는 어떻게 연구하는지를 조사할 필요가 있었습니다. 대표적으로 qraft technologies라는 회사의 블로그와 유튜브를 많이 참고했습니다. 데이터 전처리, AI modeling, 프로그램 제작을 하며 통계, 수학, 영어, 프로그래밍에 한계를 많이 느꼈고 그때마다 극복하기 위해 공부를 많이 했습니다. 최종적으로 AI를 사용해 실시간 trading이 가능한 프로그램까지 만들었습니다. 이 한 프로젝트만 3개월 정도의 시간을 사용했습니다. 수익을 내는 데는 실패했지만 실제 문제를 풀어보며 많은 공부를 하여 얻은 것과 느낀 게 많은 프로젝트였습니다.

마무리

기타 프로젝트들은 논문을 보고 직접 구현까지 해보는 것, dacon 같은 data competition 플랫폼에서 열리는 대회에 참여해보는 것이었습니다. 수상까지는 힘들었으나 역시 많은 경험을 할 수 있었습니다. AI 공부를 하시는 분이라면 MNIST나 CIFAR 같은 잘 알려진 데이터셋을 가지고 기본 공부만 하지 마시고 real world problem을 풀어보는 것을 해보시길 추천드립니다. 그 과정에서 필요한 공부들을 해나가다 보면 결국 회사가 원하는 능력들을 갖추게 됩니다. 다음에는 여러 deep learning 분야에서 하는 일들, 실제 회사에서 하는 일들 등에 대해 적어볼 예정입니다. 궁금한 게 있으시면 댓글로 남겨주세요:)



반응형