brunch

You can make anything
by writing

C.S.Lewis

by 콤파스 Jan 22. 2023

머신러닝, 딥러닝 공부 방법

이론과 실무 역량을 함께 키우기

AI 엔지니어가 되기 위해서는 머신러닝과 딥러닝에 대한 지식이 있어야 하는데요. 이번 글에서는 머신러닝과 딥러닝을 효과적으로 공부하는 방법에 대해 알아보겠습니다. (대학원 진학과 관련된 내용은 다른 글에서 소개합니다.)


머신러닝, 딥러닝 개념을 공부하고 싶으시거나 실무 역량을 어떻게 키워야 할지 막막하신 분들에게 도움이 되었으면 좋겠습니다.



기본 개념


사실 어떤 학문이든 처음에 개념을 공부하는 방법에는 왕도가 없습니다. 학교에서 교수님께 체계적으로 배울 수도 있고 책을 볼 수도 있고 인터넷 강의나 기술 블로그를 보면서 공부할 수도 있습니다. 다만 공부의 목적에 따라 추천하는 방법이 달라질 것 같은데요. 


대학원 진학을 준비하시거나 이미 대학원생이시라면 책으로 공부하면서 부족하거나 이해가 안 되는 부분을 유튜브 강의 등으로 보완하는 것이 좋습니다. 아직은 기초를 튼튼하게 쌓는 과정이 더 중요하기 때문에 조금 답답하고 재미없더라도 머신러닝과 딥러닝에 대해 깊게 이해하는 것이 나중에 큰 도움이 됩니다. 


그 외에 인공지능에 대해 가볍게 공부하거나 이미 한번 공부를 했고 기억이 잘 나지 않는 부분만 공부하기 위해서는 인터넷 강의와 블로그를 보시는 게 가장 좋습니다. 영상 강의는 어렵지 않고 쉽게 풀어서 설명해 주는 강의가 많기 때문에 시간을 많이 절약할 수 있습니다. 양질의 유료 강의도 많지만, 유튜브에도 좋은 강의가 많이 올라와 있습니다. 가장 기본적으로는 성킴 교수님의 '모두를 위한 딥러닝' 강좌를 추천드립니다. 블로그의 경우 내가 잘 모르는 개념만 따로 검색해서 이해도를 높일 수 있지만 잘못된 정보가 올라와있는 경우도 많기 때문에 여러 자료를 보고 팩트 체크를 꼭 하셔야 하시는 게 좋습니다. 



심화


머신러닝과 딥러닝을 더욱 깊게 공부하는 첫 번째 방법은 논문을 읽는 것입니다.

AI 분야는 몇 년간 급속도로 발전했기 때문에 정리된 한글 자료를 찾기 힘든 경우가 많습니다. 때문에 다양한 AI 기술을 공부하기 위해서는 논문을 보면서 필요한 정보를 습득해야 합니다. 하지만 논문은 영어로 되어있고 잘 이해도 되지 않습니다. 저는 처음 논문을 볼 때 한 논문을 2주 동안은 본 것 같습니다. 물론 논문을 많이 읽으면서 논문을 보는 스킬을 키워나가는 것도 중요하지만 처음엔 너무 힘들기 때문에 논문 리뷰를 함께 참고하는 것이 좋습니다. 구글에 논문 이름을 검색하면 한글로 리뷰를 한 블로그도 많고 'pr12'라는 유튜브 딥러닝 논문 읽기 모임에서는 유튜브에서 탑티어 학회에 공개된 유명한 논문을 리뷰해 주기 때문에 적극 활용하면 빠르게 논문을 이해할 수 있습니다. 


사실 원하는 논문을 찾는 것조차 정말 쉽지 않습니다. 특정 분야에서 유명한 논문들을 찾기 위해서는 머신러닝의 다양한 분야의 프로젝트별 벤치마크를 제공하는 Paper With Code라는 사이트를 이용하시면 편리합니다. 굉장히 다양한 머신러닝 분야의 정보를 제공하기 때문에 연구 주제를 찾거나 특정 주제의 논문 순위를 보고 싶을 때 유용한 사이트입니다.

 두 번째는 방법은 사람들과 의견을 주고받는 것입니다. 대학원생의 경우 랩실에서 논문 발표 등의 세미나를 하면서 서로 공부한 내용을 발표하고 의견을 주고받습니다. 이 과정이 혼자 공부하는 것보다 훨씬 빠르게 성장시켜 줍니다. 대학원생이 아니더라도 딥러닝 논문 읽기 모임이나 온라인/오프라인 세미나가 있기 때문에 적극 활용하시면 큰 도움이 될 것 같습니다. 이 마저도 기회가 닿지 않는다면 카카오톡 오픈채팅에서 관련 공부를 하는 사람들과 의견을 주고받는 것도 도움이 될 수 있습니다.



실무 역량


머신러닝 실무 역량을 기르는 첫 번째 방법은 프로젝트를 진행해 보는 것입니다. 하나의 문제를 정의하고 그 문제를 해결하기 위한 머신러닝 모델 개발을 진행하면서 생기는 각종 문제들을 하나씩 해결해 보는 경험은 이론으로만 배웠던 개념들을 내 것으로 만들 수 있는 좋은 기회입니다. 작은 프로젝트라 할지라도 데이터나 머신러닝 모델, 학습 하이퍼파라미터, 전후처리 기능들을 수정하면서 결과를 분석하다 보면 실무적인 감각을 익히는데 도움이 됩니다.


두 번째 방법은 논문과 코드를 페어로 보면서 이해하는 것입니다. 관심 있는 도메인에서 다양한 문제를 어떤 방법으로 해결하는지 여러 논문과 공개된 공식 코드를 함께 보면서 이해하면 큰 도움이 됩니다. 또한 논문을 보면서 코드를 직접 구현해 보고 공식 코드와 성능이 어느 정도 차이 나는지 비교해 보고 차이가 난다면 어떤 부분에서 차이가 나는지 찾아보는 과정도 큰 도움이 됩니다. 


세 번째 방법은 캐글 사이트를 적극 활용하는 것입니다. 캐글은 머신러닝과 데이터 사이언스 커뮤니티로 각종 머신러닝 문제를 해결하는 대회에 참여할 수 있고 이미 종료된 대회에서도 머신러닝 모델을 개발해서 성능 순위를 확인할 수 있습니다. 내 순위를 확인할 수 있고 순위가 높은 사람의 노하우를 참고할 수 있기 때문에 가장 빠르게 실무 역량을 향상시킬 수 있는 방법이라 생각합니다.


마지막 방법은 회사에서 맡은 프로젝트를 진행하면서 자연스레 실무 역량을 쌓는 것입니다. 회사에서 경험하는 실무에서는 머신러닝 모델 개발뿐만 아니라 비즈니스 문제를 해결하기 위해 고려해야 할 사항들을 배울 수 있습니다. 또한 모델 배포나 MLOps 관점의 업무를 경험할 수도 있습니다.




매거진의 이전글 AI 엔지니어 취업 성공을 위한 팁

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari