Andrew Ng의 Coursera 과정: 머신러닝에 뛰어들다
코딩 지식 제로에서 Andrew Ng의 ML 과정을 수료하고 ChatGPT API로 AI 애플리케이션을 만들기까지 — 학습 곡선을 어떻게 극복했는지 공유합니다.
2022년 말 ChatGPT가 출시되었을 때, 저는 완전히 빠져들었습니다. 솔직히 인정하건대, 광고업계에서 18년을 보내고 코딩 배경이 전혀 없는 사람으로서, 머신러닝의 세계는 매혹적이면서도 겁이 나는 것이었습니다. 주변 네트워크에 물어보고 ChatGPT 자체에도 물어봤습니다 — "어디서부터 시작해야 하나요?" — 답은 항상 Coursera의 Andrew Ng 과정으로 돌아왔습니다. 그래서 Stanford과 Deeplearning.AI의 "Machine Learning Specialization"과 "Deep Learning Specialization"에 등록했습니다. 강사는 Andrew Ng이었습니다.
뭘 하고 있는지 전혀 몰랐던 시기
Machine Learning Specialization은 이 분야에 대한 저의 첫 번째 도전이었습니다. Stanford Online과 DeepLearning.AI가 만든 이 초보자 친화적 프로그램은 NumPy & scikit-learn으로 ML 모델을 만드는 것부터 비지도 학습 기법을 적용하는 것까지, 머신러닝 기초에 대한 포괄적인 입문을 약속했습니다.
마침내 이해가 된 순간
이 프로그램은 Python, NumPy, scikit-learn을 사용해 ML 모델을 만드는 탄탄한 기초를 제공했습니다. 예측 및 이진 분류 작업을 위한 지도 학습 모델을 구축하고 훈련하는 법을 배웠습니다. Andrew Ng는 놀라운 강사입니다. 복잡한 개념을 간단하게 설명하는 그의 능력은 솔직히 비할 데가 없습니다.
거의 포기할 뻔한 시기
저에게 가장 큰 도전은 Python과 커맨드 라인 인터페이스였습니다. 이전에 코드를 한 줄도 작성해 본 적이 없었습니다 :D 하지만 ChatGPT가 곁에 있었고, 계속 질문했습니다 — 정말 기초적인 것들까지요. 천천히 하지만 확실하게 이해가 되기 시작했습니다. 저에게 핵심은 "멍청한" 질문을 하는 것을 부끄러워하지 않는 것이었다고 생각합니다.
더 깊이 들어가기 (그리고 다시 겸손해지기)
학습 일정의 다음 과정은 Deep Learning Specialization이었습니다. 역시 Andrew Ng가 강사인 이 프로그램은 머신러닝의 복잡한 부분에 더 깊이 들어가, 신경망 아키텍처와 최첨단 기법에 초점을 맞춥니다.
가파른 구간
기초에서 딥러닝으로 넘어가는 것은 가파르긴 했습니다, 거짓말은 하지 않겠습니다. 하지만 커리큘럼이 잘 구성되어 있고 실습 프로젝트가 정말 도움이 되었습니다. 이 과정과 위의 과정 사이에 약간의 중복이 있습니다. 온라인 학습이므로 이미 다룬 내용은 빨리 감기하거나 건너뛸 수 있습니다.
이론이 현실을 만났을 때
실전 프로젝트가 최고의 부분이었습니다. 이론과 실무 사이의 간격을 메워주었고, 이러한 개념들이 실제 문제에 어떻게 적용될 수 있는지 보이기 시작했습니다 — 나중에 직접 챗봇을 만들게 된 동기가 바로 이것이었습니다.
무언가를 만들기 시작한 순간
마지막으로, Building Systems with the ChatGPT API 과정은 대규모 언어 모델을 실용적인 애플리케이션에 통합하는 새로운 길을 열어주었습니다. 이전 두 과정에서 배운 것을 바탕으로 다음을 해낼 수 있었습니다:
- Wordpress로 만든 제 웹사이트에서 데이터를 내보내기
- 데이터를 정리하고 준비하기. 일부 샘플 코드는 여기에서 확인하실 수 있습니다. 물론, 프로젝트/API 사양에 따라 코드를 추가로 수정해야 합니다.
- 임베딩 API를 사용해 LLM을 활용한 더 나은 검색 기능 구축
서로 다른 부분들이 소통하게 만들기
이 과정은 대규모 언어 모델에 대한 체인 호출을 사용해 복잡한 워크플로우를 자동화하는 방법을 가르쳐주었습니다 — 기본적으로 애플리케이션의 서로 다른 부분들이 LLM을 통해 서로 소통하게 하는 방법입니다.
전체 여정을 돌아보며
돌아보면, 여정은 힘들었지만 믿을 수 없을 만큼 보람 있었습니다. 각 과정은 제 이해뿐만 아니라, 무엇이 가능한지에 대한 감각도 넓혀주었습니다. 커맨드 라인이 무엇인지도 몰랐던 사람에서 코드로 무언가를 만들 수 있는 사람으로 — 그 변화는 아직도 비현실적으로 느껴집니다.
그리고 결과적으로? OpenAI API, 임베딩 기술 등을 사용해 챗봇을 만드는 데 성공했습니다... 교훈과 챗봇은 여기에서 확인하실 수 있습니다.
Andrew Ng의 과정을 수강하셨거나 고려 중이신가요? 여러분의 경험을 듣고 싶습니다 — 특히 저처럼 비기술 배경에서 오신 분이라면요.
감사합니다,
Chandler





