안녕하세요. 본격적으로 AI강의를 시작하겠습니다. 

강의보고오기: https://youtu.be/x8GF4SH0LSg?si=lXPLWIJkFu-IPkZD

 

AI와 머신러닝의 관계

AI는 Machine Learning을 포함하는 용어입니다. Machine Learning에는 Deep Learning, Reinforce Learning이 포함됩니다. 

AI/ML의 관계(머신러닝 딥러닝 차이)



위 그림은 AI, ML, DL, RL의 관계를 표현한 그림입니다.

AI (Artificial Intelligence)

강의에서 제가 15년 전쯤에 샀던 로봇청소기 예를 들었습니다. 그 로봇청소기는 머신러닝 기능이 없었습니다. 장애물에 부딪치면 랜덤으로 방향을 바꿨습니다. 정해진 예약만큼 지속적으로 움직이고, 어떤 장애물을 만나서 진행이 어려우면 방향을 바꾸는 정도의 기능이 있었습니다.   

 

이 로봇청소기도 AI기능이 있는 겁니다. 어찌 됐든 스스로 움직이면서 방을 청소하니까요. 아주 단순한 로직이 KDB(Knowlege DB)에 들어 가 있었을 겁니다. 

 

ML (Machine Learning): Shallow Learning 

좀 더 발전한 로봇청소기는 머신러닝 기능을 포함했을 겁니다. 이 로봇청소기는 장애물을 만났을 때 높이를 판단합니다. 그리고 자기가 극복할 수 있는 장애물인지 판단할 겁니다. 높이가 낮은 문턱은 장애물로 판단하지 않고 그냥 넘어버리는 거죠. 높이라는 특성을 파악해 장애물과 비장애물로 분류합니다. 

 

높이라는 X input에 대해 장애물인지 아닌지 판단하는 분류(Y output)를 하는 겁니다. 여러 장애물에 대해 학습이 되어있으면 새로운 장애물을 만났을 때 높이 특성을 파악해 자동으로 분류가 가능합니다. 이 정도 판단하는 작업은 선형적으로 가능합니다. 이걸 Shallow Learning이라고 합니다. 얕은 학습입니다.

 

앞으로 우리가 계속해서 학습할 부분이 이 Shallow Learning입니다. 그러니까 머신러닝 중에서 Deep Learning 전 Shallow Learning을 진행합니다.  그리고 우리가 공부하게 될 Shallow Learning의 원리는 선형대수 밎 확률과 깊은 관계가 있습니다.  그래서 수학지식이 있어야 합니다. 앞서 말씀드렸지만 코드부터 보면서 공부해도 되지만 원리 이해 또는 하고 싶으신 일을 하실 때 한계가 있을 수 있습니다. 상황에 따라 다를 수 있죠. "난 특정 서비스만 개발해서 쓰면 돼"라는 입장이신 분이라면 수학적 원리를 공부할 필요는 없습니다. 

 

ML (Machine Learning): Deep Learning

Deep Learning 기능이 탑재된 로봇청소기는 어떻게 움질 일 수 있을까요? 

 

로봇청소기에 카메라를 탑재할 수 있습니다. 이제 로봇청소기는 "눈"을 가진 겁니다. 그리고 물체를 보고 이 물체가 뭔지도 판단할 수 있습니다. 

 

예를 들어 집에서 고양이를 키운다면 로봇청소기는 고양이를 보고 고양이인지 알 수 있습니다. 고양이 이미지의 RGB특성 등을 파악해 알 수 있는 겁니다. 이 작업은 단순히 높이만 고려하는 특성보다 훨씬 복잡합니다. 그리고 이 특성은 선형적으로 파악이 안 됩니다. 이때 사용하는 기술이 CNN이고, CNN이 Deep Learning의 기술입니다.

 

Deep Learning은 머신러닝의 한분야입니다. 선형적으로 해결할 수 없는 문제를 해결할 수 있습니다. 인공신경망을 활용하여 차원이 높은 문제를 Shallow Learning보다 잘 해결합니다.

 

마지막으로 강화학습이 있습니다. Optimal 한 Policy를 찾는 머신러닝의 분야입니다. 제가 강화학습까지 지속해서 강의를 만들 수 있을지 모르겠습니다. ^^

 

자세한 내용은 강의를 참고하세요.

 

 

참고자료 

1강 강의 내용은 아래 Youtube를 참고했습니다. 시간 되시는 분들은 보시면 많은 도움이 되실 겁니다.

https://www.youtube.com/watch?v=4RixMPF4xis&t=1s 
https://www.youtube.com/watch?v=bOUfOOCFCrE

 

 


남기는 말

저는 이 강의를 기술사를 준비하시는 분들을 위해서 만들어서 코드 설명이 많지 않습니다. 제가 AI를 잘 모를 때 AI관련 책들을 많이 구매했는데, 대부분 책들이 코드를 중심으로 결과를 설명하는 책들이었습니다.

 

저의 경우는 책과 코드를 보고도 원리이해가 힘들어서 큰 도움이 안 됐습니다. 물론 모든 코드에 대해 원리를 이해하고 직접 내부까지 구현해야만 하는 건 아닙니다. 하지만 저는 코드를 보고 어떻게 만들어졌겠구나 하는 정도는 돼야 마음이 편해집니다.  

 

가장 간단한 예로 어떤 언어에서 String과 관련된 함수들을 사용할 때 제가 모든 것을 구현하지는 않았지만 어떤 방식으로 구현됐겠구나 라는 감이 있어야 사용할 때 맘이 편합니다.  

 

물론 사람마다 다릅니다. 사실 이론이 먼저냐 코드가 먼저냐는 SW개발 공부할 때도 나오는 논란입니다. 저는 정답이 없다고 생각합니다. 이론과 코드는 연결되어 있으니까요.

 

제가 학창 시절 시작해서 아직까지 보는 열혈강호라는 무협만화가 있습니다. 대부분 무협소설이나 만화에서 내공과 외공이라는 개념이 있는데, 이론이 내공의 성격과 유사하고 코드로 구현해 보는 보는 것이 외공의 성격과 유사한 것 같습니다. 만화에서 보면 어느 것을 먼저 하든 고수들은 자기도 모르게 내공과 외공 모두 높은 수준에 다다릅니다. 

 

우리가 공부할 AI도 마찬가지입니다. 코드의 고수는 이론도 분명히 고수일 것이며, 이론의 고수는 코드도 고수일 겁니다. 물론 양쪽으로  균형 있는 공부를 해야겠지요, 이론 강의를 공부하면서 작은 프로젝트를 진행하시거나, 코드를 공부하면서 그 원리를 공부하시거나 양쪽 다 좋습니다. 

 

다만, 제 강의는 공부하시분들이 이론적 배경을 잘 아실 수 있도록 도와드리는데 중점을 뒀다는 것을 미리 알려드립니다. 코드 공부는 별도 프로젝트를 진행하시거나 각 단원의 내용에 대해 ChatGPT를 활용하여 코드를 생성하시고 분석하시면서 공부하시는 것을 추천드립니다. 

 

물론 프로젝트에 필요한 코드를 만들거나 당장 필요한 업무에 적용시키기 위한 분은 이론을 다 알 필요가 없으실 겁니다. 어떤 분이 저에게 이론 공부가 중요하다고 묻는다면, 그분에게 회사에서 연구직이거나 학자가 아니면 크게 중요하지는 않다고 말씀드릴 겁니다. 특히 당장 서비스 제작이 급하신 분들은 더욱 그렇죠. 필요하신 만큼 공부하시면 됩니다. 

 

단, 시간이 되신다면 모든 분들이 원리를 깊이 공부했으면 좋겠습니다. 서비스를 만드시는 분들도 현재의 서비스에는 필요 없을 수 있어도 새로운 도전이 생길 수 있습니다. 그 새로운 도전이 다가왔을 때 원리에 대한 깊은 이해가 새로운 insight를 제공할 수도 있으니까요. 

 

모든 사람에게 기회가 올 수도 안 올 수도 있습니다. 하지만, 준비된 사람만이 기회가 왔을 때 잡을 수 있습니다. 준비되지 않았다면 기회가 왔는지도 모르는 거죠. 지금 생각해 보면 저도 많은 기회가 있었는데 그때마다 준비가 안 돼서 기회인지도 모르고 살아 온 것 같습니다. 

 

부디 모든 분들이 어떤 분야던 잘 준비하셔서 저같이 기회인지 모르고 흘려보내는 삶을 살지 않도록 기원하겠습니다. 

 

감사합니다. 

 

안녕하세요?

 

영어에 익숙하신 분들이라면, 유트브에도 정말 좋은 무료 강의가 많습니다. 

 

Stanford, MIT 교수님들 같은 대가들의 강의도 쉽게 접하실수 있습니다. 유트브 강의는 Stanford AI, MIT AI 이런식으로 검색하셔서 조금 들어보시고 마음에 드시는 강의를 구독하시고 수강하시면 될 것같습니다.

 

제 주변을 보면 Andrew NG 교수님 강의를 좋아하시는 분이 많았는데, 개인차이가 있으니 잘 선택하셔서 보시면 될 것 같습니다.  유트브 Description을 자세히 보시면 Syllabus 사이트로 접근할 수 있고, 강의자료도 구할 수 있습니다. 참고하시기 바랍니다. 

 

제가 지금 https://www.youtube.com/playlist?list=PLoROMvodv4rMiGQp3WXShtMGgzqpfVfbU 링크로 들어가서 조회수를 보니, Lecture1은 조회수가 284만회이고, Lecture 20은 조회수가 5.1만회 이네요. ^^. 전 세계적으로도 끝까지 듣는 분은 얼마 없는 것 같습니다. 이래서 공부를 위해서 대학원을 다녀야 하고, 자격증 준비를 위해서는 학원이 필요한 것 같습니다.  자유의지로 꾸준히 공부할 수 있는 사람은 진짜 별로 없네요. 저도 마찬가지로 자유의지로 공부할 수 있는 사람은 아닙니다. 그래도 많은 분들이 저같이 늦은 나이에 공부하시지 마시고 젊어서부터 꾸준히 공부하셨으면 합니다. 

 

체계적으로 AI관련 Course를 들을 수 있는 사이트들도 소개해 드리겠습니다. 

 

https://www.udacity.com/

 

Learn the Latest Tech Skills; Advance Your Career | Udacity

Learn online and advance your career with courses in programming, data science, artificial intelligence, digital marketing, and more. Gain in-demand technical skills. Join today!

www.udacity.com

https://www.deeplearning.ai/

 

Home

DeepLearning.AI | Andrew Ng | Join over 7 million people learning how to use and build AI through our online courses. Earn certifications, level up your skills, and stay ahead of the industry.

www.deeplearning.ai

https://www.coursera.org/

 

Coursera | Degrees, Certificates, & Free Online Courses

Learn new job skills in online courses from industry leaders like Google, IBM, & Meta. Advance your career with top degrees from Michigan, Penn, Imperial & more.

www.coursera.org

 

위 사이트에서 제공하는 무료강의만 들으셔도 꽤 전문가에 가까워 질수 있습니다. 유료 강의도 비싸지 않고요. 금액적으로는 싸게 우리의 목표를 이룰 수 있지만, 자유의지라는 비싼 노력이 필요합니다. ^^

 

영어가 익숙하시지 않은 분들을 위한 좋은 강의도 많습니다. (물론 세계 공용어인 영어로 강의를 제공하시는 분들이 훨씬 많기는 합니다. 영어가 익숙하시면 선택의 폭이 넓어지는 겁니다.)

 

https://iai.postech.ac.kr/teaching/machine-learning

 

iAI KAIST - MACHINE LEARNING

 

iai.postech.ac.kr

 

그리고 유트브에 "ㅇㅇ대학교 AI 강의", "ㅇㅇ 대학교 Machine Learning강의 " 라고 검색하시면 많은 강의들이 있으니 조금 들어보시고 가장 적합한 강의를 찾으시면 됩니다. 

 

대학교에서 제공하는 것 말고도 혁펜하임이 있습니다. https://www.youtube.com/resultssearch_query=%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84

 

https://www.youtube.com/results?search_query=%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84

 

www.youtube.com

 

공돌이의 수학정리노트도 좋습니다.

https://angeloyeo.github.io/

 

우선 위에 소개한 영어사이트 또는 대학교에서 제공하는 커리큘럼과 정규과정을 보시고 보조과정으로 활용하시면 아주 좋을 것 같습니다. 

 

저도 영어가 익숙하지 않아서 한글 강의 자료를 많이 이용했습니다. ^^

 

감사합니다.

 

 

 

안녕하세요~

 

정보관리기술사 공부를 하면서 처음 AI를 접했습니다. 다른 토픽들과 달리 AI는 이해하기 어려웠고, 결국 50%도 채 이해하지 못한 상태로 기술사 자격을 취득하게 되었습니다. 기술사 시험은 범위가 너무 넓고 토픽이 방대해서 AI 공부에 많은 시간을 투자할 수 없었습니다. 이는 기술사 시험의 큰 문제라고 생각합니다. IT 업무 분야는 점점 전문화되고 직무도 세분화되고 있는데, 기술사라는 전문자격증이 거의 모든 IT 분야의 토픽을 다루고 있는 실정입니다. 당연히 IT 업무를 하는 대부분의 사람들이 기술사 자격증에 맞추어 공부한 사람들의 전문성을 의심하는 것은 당연합니다. 게다가, 기술사 자격이 있는 모든 사람이 실무에서 탁월한 성과를 보여주지 못하는 경우도 많습니다. 

 

그래서 검색엔진에 'IT 관련 기술사 전문성/필요성' 등을 검색해보면 블로그나 커뮤니티에서 갑론을박이 많습니다. 저 역시도 도전적인 질문에 자신이 없습니다. 예를 들어, 누군가 저에게 "당신 IT 전문가야?"라고 물어본다면, 자신 있게 "예"라고 답변하지 못할 겁니다. 물론 어느 집단에 있느냐에 따라 상대적이겠지만, 만약 IT 직무를 하시는 분들과 같이 있는 집단이라면 더더욱 "저는 IT 전문가입니다."라고 대답하지 못할 것 같습니다. 특히, 저에게 AI는 취약한 부분이었습니다. 물론 디지털 서비스 토픽의 거의 모든 신기술에 대해서도 잘 모르지만, AI처럼 요즘 IT 분야 중 가장 핵심적인 트렌드를 잘 모른다는 점이 부끄러웠습니다.

 

좋은 기회로 Computer Science 석사과정을 진행하며  AI에 대해 좀더 자세히 공부했지만, 여전히 누가 전문성에 대해 묻는다면 자신 있게 "예"라고 대답하기는 어렵습니다. 아직 AI 관련 일을 해본 적도 없고, 언제 관련 프로젝트를 진행할 수 있을지도 모르는 상황입니다. 그럼에도 불구하고, 항상 준비되어 있어야 한다는 마음으로 강의를 제작하기로 결심했습니다. 강의를 준비하는 것 은 저의 전문성을 높이는데 많은 도움이 되리라 생각합니다. 언젠가는 누군가의 물음에도 저 자신이 스스로 전문가라고 할 수 있는 날이 오기를 바랍니다. 

 

또한, 저처럼 다른 분야의 IT 업무를 하다가 순수한 공부 의지, 자격증 준비, 또는 업무에 필요해서 새롭게 AI를 공부하시는 분들에게 도움이 되기를 바랍니다. 강의의 초점이 예비기술사님들을 대상으로 하고 있지만 처음 공부하시는 모든 분들이 깊은 원리까지 최대한 쉽게 이해할 수  있도록 설명할 예정입니다.

 

마지막으로 정보관리기술사/컴퓨터시스템응용기술사를 준비하시는 모든 분들에게 도움을 줄 수 있도록 서브노트 제공을 허락해주신 ITPE 강정배 멘토님께 감사인사 드립니다. 

+ Recent posts