첫 글의 주제는 머신러닝을 위한 온라인 공개 강의(이하, MOOC: Massive Open Online Course) 플랫폼에 대한 소개입니다.
저는 올해 초부터 머신러닝에 대해 공부하게 되었습니다. 머신러닝 온라인 강의 중 제일 유명한 Andrew Ng의 Coursera 머신 러닝 강의로 처음 접하게 되었습니다. 아는 친구가 카카오톡 방을 만들어서 거기서 서로 진행 상황 체크하면서 하면 좋겠다고 하여 따로 모임은 같지 않고 서로 진행 상황만 확인하면서 강의를 모두 들었습니다.
강의를 다 듣고 나서 보니 아직 한참 부족하다는 것을 느껴 Coursera에 있는 Deep learning specialization(by Andrew Ng)을 비롯하여 몇개의 강의를 더 들어보았습니다. 여러 강의를 들으면 들을 수록 각 강의에서 머신러닝을 다루는 방식도 다르고 머신러닝 안에서도 굉장히 다양한 배울 거리가 있다는 것을 알게 되었습니다.
그리고, 조금 더 알아보니 온라인 강의를 들을 만한 사이트가 Coursera 외에도 꽤 많이 있었습니다. 이제까지 제가 온라인 강의에 대하여 경험해본 것과 여러 글들을 조사해본 결과를 정리하려고 이 글을 쓰게 되었습니다.
Platform |
Location |
Nº Users ▴ |
Nº Courses |
Language |
---|---|---|---|---|
Coursera | United States | 25,000,000+ | 2,000+ | Multiple |
edX | United States | 14,000,000+ | 950+ | Mostly English |
Zhihuishu | China | 10,000,000+ | 50+ | Chinese |
XuetangX | China | 7,000,000+ | 1,000+ | Chinese |
Futurelearn | United Kingdom | 6,500,000+ | 400+ | English |
Federica.eu | Italy | 5,000,000+ | 75+ | Italian |
Udacity | United States | 4,000,000+ | 200+ | English |
Miríada X | Spain | 4,000,000+ | 690+ | Spanish, Portuguese |
OpenClassrooms | France | 2,500,000+ | 100+ | French, English, Spanish |
Edraak | Jordan | 1,200,000+ | 70+ | Arabic |
위의 표는 MoocLab이란 곳에서 2018년도 MOOC Platform을 비교하는 표(링크)에서 사용자 수 기준 상위 10개를 뽑아 놓은 표입니다. 역시 1위는 Coursera입니다. 현재 2500만 명의 회원수를 갖고 있고, 2000여개가 넘는 코스를 갖고 있습니다. 언어는 Multiple이라고 되어있는데 대부분의 강의는 영어 강의입니다. 제가 들었던 머신러닝 강의도 여기에 있습니다.
저는 이 중에서 Coursera에 대해서는 자세히, 그리고 edX, Udacity에 대해서만 간단히 소개해드리려고 합니다. Coursera를 계속 이용해왔기 때문에 Coursera에 대해 잘 알기 때문입니다. 나머지는 들어가보기만 했는데, 크게 보아 Coursera와 많은 점을 공유하고 있기 때문에 간단히 설명해도 될거 같습니다. 나머지에 대해서는 제가 한국어와 영어 이외의 언어는 할 줄 모르기 때문에 둘러보기가 힘듭니다. Futurelearn은 시간 관계상 살펴보지 못했습니다. 그리고 3, 4위가 중국 사이트인데 중국어 능력자시라면 한 번 들어가 보는 것도 좋을 것 같습니다. 현재 IT 관련 하여 중국 쪽이 상당히 강하기 때문에 중국어가 영어보다 편하신 분들은 들어가보시면 좋을 것 같습니다.
그리고 여기에 추가하여 Udemy에 대해 짧게 설명 드리려 합니다.
Couresra는 1위 사이트답게 양질의 컨텐츠로 채워져있습니다. 국내외 수많은 머신러닝 학습자들이 처음으로 듣게 되는 Andrew Ng의 Machine Learning 강의가 대표 강의라 할 수 있습니다. Andrew Ng 교수는 Coursera의 공동 창업자 임과 동시에 스탠포드 대학의 교수이며, Baidu와 Google에서 AI팀을 이끌었던 학계 및 산업계 모두에서 사랑받는 AI계의 별이라고 할 수 있습니다. Andrew Ng은 이 강의 이후 2017년에 Deep Learning Specialization이라는 Course 묶음을 내놓았습니다. 이 강의 또한 아주 뜨거운 반응을 얻고 있는 것으로 보입니다.
강의에 대한 자세한 내용은 다음 글에서 하기로 하고 Coursera에 대한 전반적인 내용을 더 말씀드리려 합니다. Coursera에 강의를 제공하는 사람들은 세계 각지의 대학 교수, 또는 대학원생 들이 있습니다. 또한, Google, IBM, Amazon 등의 기업에서 강의를 제공하기도 합니다. 저는 Google에서 제공된 Machine Learning with Tensorflow on Google Cloud Platform Specialization을 들었는데, 인상적이었던 것은 Tensorflow를 직접 만들던 사람 중 한 명이 나와서 Tensorflow에 대해 직접 설명해주는 부분이었습니다.
과금 체계는 크게 3가지가 있습니다. 첫번째는 강의 자체를 무료로 제공하고 강의 완료에 대한 Certificate를 어딘가 사용하고 싶은 사람들에게만 돈을 받는 것입니다. 위에 설명 드린 Andrew Ng의 Machine Learning이 이와 같은 체계입니다. 해당 강의의 Certificate의 가격은 79$인데 그냥 무료로 듣고 나중에 LinkedIn등에 이력서에 추가시키고 싶을 경우에만 사서 넣으면 되겠습니다. 두번째는 Specialization을 들으면서 월 단위로 과금하는 것입니다. 강의별로 가격에 차이가 있을 수 있으나 제가 들은 강의들은 모두 49$이었습니다. 1주일 무료로 들을 수 있으며, 1주일이 지나기 전에 구독을 취소하면 과금되지 않습니다.설명에 따르면, 과금을 하지 않는 경우에 Course의 강의나 자료 등에는 접근 가능하나 채점 시스템 등을 사용하지 못한다고 되어있습니다. 과금하지 않고 이용하질 않아서 정확히 어떻게 되는지는 모르겠습니다. 세번째는 Master Degree 용으로 한번에 꽤 큰 돈을 결제하는 방식입니다. 이 방식은 직접해보지 않아서 자세히 알진 못합니다.
Coursera가 학습을 위해 제공하는 시스템에 대해서 간략히 설명드리려고 합니다.(공식적인 설명은 여기를 참고하세요) 정확히 어느 시점에 개발되어 적용된 것인지는 모르겠지만, 머신러닝, 데이터 사이언스 관련 강의에서 과제용으로 활용 가능한 Jupyter Notebook을 Coursera 내에서 제공합니다. 여기서 직접 코드를 짜고 실행해볼 수 있습니다. 물론 제출도 할 수 있고, 제출 결과는 자동 채점이 가능하게 되어있습니다. 무척 편리한 시스템이라고 생각합니다. 다만, 서버의 이상인지 자동 저장이 가끔 안 될 때가 있습니다. 그래서 로컬에서 작업하고 올리는게 더 편할 수도 있긴 합니다만, 언제 어디서나 설치 없이 과제를 할 수 있다는 것은 큰 장점으로 보입니다. 그리고 과제가 막힐 때는 Discussion 창으로 가보면 어지간한 내용은 예전에 이미 질문이 나왔고 해결이 되어 있습니다. 그리고 새로운 질문을 올리면 강의 수강자 또는 강의자나 조교 들이 답변을 해주기도 합니다. 그래서 어려운 과제 때문에 진행을 못하는 경우에도 여기를 잘 살펴보면 해결할 수 있습니다.
단, 모든 머신러닝, 데이터 사이언스 과제가 Jupyter Notebook을 활용하는 것은 아닙니다. Google 강의 중에는 Qwikilab을 이용하여 Google Cloud를 직접 작동시켜보는 일을 시키기도 합니다. 이 경우에는 채점이 되지는 않습니다. 또한, 이 시스템이 제작되기 전에 만들어진 Andrew Ng의 Machine Learning 강의는 Ocatve 또는 Matlab을 이용하는데, 직접 로컬에 받은 후 해당 파일로 submit을 하도록 되어 있습니다.
퀴즈 시스템도 잘 되어 있습니다. 강의 중간에 돌발적으로 퀴즈가 나오기도 하고 연습용 퀴즈, 시험용 퀴즈 등이 있어서 시험용 퀴즈를 풀지 못하면 강의를 완료할 수 없게 되어 있습니다. 대체로 8시간 동안 3번의 기회를 줍니다. 그리고 경우에 따라서 문제풀 중에서 몇 문제가 뽑혀 나오는 문제도 있고 고정된 문제가 나오는 경우가 있습니다. 그리고 고정된 문제라 할지라도 선지의 순서가 바뀌어서 조금은 주의를 기울여야 합니다.
팁을 말씀 드리자면 Coursera가 모바일앱을 갖고 있다는 것입니다. 와이파이 환경에서 강의를 다운 받은 후에 오프라인 상태로 강의를 듣고 퀴즈를 풀 수 있습니다. 버스나 지하철 안에서 스마트폰으로 보면 짜투리 시간을 잘 활용할 수 있습니다! 심지어 Jupyter Notebook에서 코드를 작성하고 실행하는 것도 가능합니다. 다만, 화면 크기의 제약과 키보드의 문제로 PC로 하는 것이 훨씬 편합니다. 단, 코드를 읽는 것은 나름 괜찮았습니다.
어떤 강의를 선택할지에 대해서 팁을 드리려 합니다. 이 때 보통 보는 것은 Rating일 것입니다. Rating이 물론 중요하지만 다른 것들도 보면 조금 더 강의 수강에 대한 만족도가 높아질 것이라고 생각합니다. Overview를 통해서 전체적인 내용에 대해서 파악하고, 누구를 대상으로 하는 강의인지를 보면 좋습니다. 다음으로는 Syllabus 내용을 꼼꼼히 살펴보는 것도 중요합니다. 그리고 또 하나 중요한 것중 하나는 강의의 Level 입니다. 특정 분야를 처음 접할 경우에는 Beginner를 선택하는 것이 좋습니다. 조금 아는 경우에는 Intermediate, 그리고 이미 꽤나 지식이 있는 경우에 Advanced를 선택하면 좋을 것입니다. 처음에 바로 Advanced 강의를 들으면 거의 이해하기가 어려울 것입니다. 저는 최근에 Advanced Machine Learning Specialization을 듣고 있는데 상당히 어렵습니다. 내용 자체도 어려울 뿐 아니라 과제나 퀴즈도 Deep Learning Specialization보다 까다롭습니다. 다만, 새로운 내용, 그리고 조금 더 심화된 내용을 배울 수 있다는 점에서는 Advanced Level의 강의의 효용이 있다고 생각합니다.
edX는 2위 업체입니다. 강의를 직접 들어보진 않았지만, 대체로 시스템은 비슷합니다. 모바일앱, 자체 채점 시스템, 퀴즈 시스템 등 학습을 위한 시스템은 거의 유사합니다. 아마도 경쟁 구도가 있어서 그렇게 되지 않았나 싶습니다. 차이점을 위주로 말씀드리려고 합니다. 단, 제가 몇 개의 강의를 둘러 보았을 때는 바로 Jupyter Notebook으로 들어가서 과제를 하는 것이 가능한 경우는 보지 못했습니다. 이 부분은 조금 더 알아볼 필요가 있겠습니다.
edX에서 여러 기업들이 강의를 제공하는 점에서는 유사하나, 참여하는 대학이 조금 다릅니다. edX는 애초에 하버드와 MIT에서 만든 사이트이기 때문에, 하버드, MIT, Columbia 등의 탑스쿨의 강의가 제공된다는 강점이 있습니다.
edX의 또 하나의 강점은 모든 강의가 공개 강의라는 것입니다. 단, Certificate을 받기 위해서는 돈을 지불해야 합니다. edX의 Certificate은 상대적으로 Coursera에 비해선 비싸보입니다. 한 강의 Certificate이 199$인 것도 보았습니다. 그리고 Coursera의 Specialization과 비슷한 것이 3가지가 있습니다. MicroMasters Certificate, Professional Certificate, Xseries Certificate이 있는데, 3개의 구분이 정확히 어떻게 되는지는 모르나, 3개 모두 여러 강의의 Certificate을 묶어서 할인해서 파는 것으로 보입니다.
Udacity는 사용자 수 기준 7위입니다. 위의 1, 2위 사이트와의 차이는 있으나 그럴 수밖에 없는 이유가 있습니다. 이 사이트는 무료 강의가 있긴 하지만, Nanodegree라는 유료 강의가 사이트의 중심이기 때문입니다. (물론 훌륭한 무료 강의도 많습니다.) Certificate에 대해서 돈을 주는 것이 아니라 강의를 듣는 것 자체에 과금을 하도록 되어 있습니다. 무료 강의를 이용하여 시스템을 살펴 보았는데, 퀴즈 시스템 등이 매우 Interactive하여 좋았습니다. 제가 살펴보았던 강의는 Machine Learning for Trading이라는 강의였는데, 각각 퀴즈 마다 퀴즈에 대한 인트로가 있고 각 문제에 맞는 문제 제공 방식이 있었습니다. 코드를 직접 작성하고 결과를 바로 볼 수도 있고, 주관식, 객관식도 있습니다. 연속적으로 이러한 문제들이 제공됩니다. 코드 작성하는 과제 따로, 직접 푸는 과제 따로가 아니라 한 세션에서 차례대로 풀 수 있도록 되어 있습니다. 시스템적으로는 Udacity가 가장 좋아보였습니다.
그리고 재미있는 점은, 강의 자체도 다른 사이트들과 차별화를 하려고 하는 점입니다. 예를 들자면, 교수자가 기차 놀이를 하면서 등장하기도 하고, 강의자가 2명이 서로 대화를 하기도 합니다. 또한, 손만 나와서 손으로 어딘가에 적으면서 강의가 진행되기도 하는 등, 굉장히 도전적이고 새로운 앵글을 활용한다는 것을 느꼈습니다.
머신러닝을 공부하던 저에게 가장 인상적이던 것은 GAN(Generative Adversarial Network)를 발표했던 Ian Goodfellow가 직접 GAN에 대해서 강의를 하는 모듈이 있다는 것이었습니다. Deep Learning Nanodegree의 4번째 강좌에 GAN이 있는데 여기서 Ian Goodfellow가 직접 강의를 한다고 합니다. Nanodegree 가격이 600~1000$ 가량 하는지라 강의를 듣지 못한게 아쉽습니다. 나중에 여유가 생긴다면 들어보는 것도 괜찮을 거라 생각합니다.
아 그리고, 가격이 상당히 비싼 만큼 조금 더 학습자에 대한 케어를 하는 것 같아 보입니다. Slack 등의 채널을 운영한다거나, Project 결과물에 대한 일대일 피드백을 한다고 합니다. 실제로 해보지 않아서 어떻게 진행되는지는 모르나 Premium 서비스다워 보입니다. 그리고 Udacity는 대학 보다는 기업과 함께 협업하는 것으로 보입니다.
Udemy는 나머지 사이트 들과 다른 점이 있습니다. 모든 사람들이 자유롭게 강의를 올리고 그 강의를 팔 수 있는 Platform이란 점에서 엄청난 차이가 있습니다. 현재 사용자 수 기준 1위인 Coursera의 강의수는 현재 총 2000개 가량이라고 하는데 Udemy의 강의수는 총 65000개를 넘는다고 합니다. 그리고 각 강의의 가격은 현재 11,000원으로 되어있는데(더 비싼 강의도 있습니다) 그렇게 부담되게 비싼 가격은 아닌 것 같습니다. 제가 Udemy를 추가한 이유는 여기서 다루는 학습 컨텐츠의 속성 때문입니다. 각 개인이 강의를 올리기 때문에 하나 하나 강좌의 수준이 보장되기는 어렵지만, 그때 그때 변화하는 환경 속에서 필요한 강의를 올리기 쉽고, 각 개인이 가지고 있는 개별적 노하우를 공유하기 쉬운 플랫폼이라는 강점이 있다는 것입니다. 예를 들자면, Google에서 제공하는 자격증이 있는데 해당 자격증을 얻기 위한 속성반이 Udemy에는 있습니다. 다른 Platform에서는 하나의 완성된 내용을 갖는 Course를 만들려고 해서인지 이와 같은 개인의 노하우를 담은 강의를 찾기 어렵지만, Udemy에서는 이러한 축약된 작은 강좌를 볼 수 있다는 것이 Udemy의 강점이 아닐까 싶습니다.(참고로 해당 강좌는, Hands on Google Cloud Platform(GCP) - Data Engineer 입니다)
그리고 또 하나의 강점은 한국어로 된 강의도 종종 있다는 것입니다. 한국어 강의를 직접 본 적은 없지만, 괜찮은 강의를 찾는다면 한국어로 보면 좋을 것 같습니다.
이상으로 4개의 MOOC 사이트에 대한 소개를 마쳤습니다. 제 글이 참고 자료가 되어 본인에게 더 잘 맞는 학습 컨텐츠를 찾을 수 있기를 바라며 글을 마치도록 하겠습니다. 위의 사이트 들은 기본적으로 모든 주제에 대한 온라인 강의를 갖고 있기 때문에 다른 내용에 대한 학습에도 좋다고 생각합니다.
다음에는 강의 자체에 대한 소개 및 리뷰 등의 컨텐츠로 찾아뵙겠습니다!
'EXPLANATION' 카테고리의 다른 글
무료 코딩 교육 플랫폼: freecodecamp (1) | 2021.07.22 |
---|