인공지능(AI)과 머신러닝(ML) 학습 경로

머신러닝(ML), 인공지능(AI), Microsoft Cognitive Toolkit (CNTK) 엔지니어인 Ivan Farkas 의 AI 학습 경로에 대한 좋은 안내 글(AI Learning Path, May 27, 2017)이 있어 공유합니다. 데이터 과학자, 머신러닝(ML), 인공지능 엔지니어라면 필수적으로 알아야할 개념과 추천 과정들이 쉽게 설명되고 정리가 잘 되어있어 번역해 보았습니다.

순서

  1. 머리말
  2. 인공지능(AI)을 사용하는 이유
  3. 인공지능(AI)으로 진입해야하는 이유
  4. 지금이어야 하는 이유
  5. 학습 전략
  6. 세 가지 학습 경로 (1. AI 소비자, 2. 데이터 과학자, 3. 머신러닝(ML) 엔지니어)
  7. 배치 인공지능(AI) 교육
  8.  AI는 얼마나 빨리 혁신되고 있습니까?
  9. 결론
  10. 참고문헌

머리말

기술, 특히 소프트웨어 개발은 수평적으로나 수직적으로 성장하고 있을 뿐만 아니라 매우 세분화되고 전문화되고 있습니다. 따라서 소프트웨어 개발자는 무엇을 연구하고 어떤 깊이로 결정해야 하는지를 결정하기가 어렵습니다. 전체 스택 소프트웨어 개발자 및 컨설턴트로서 교육 자료, 과정 및 자격증을 위한 시간, 에너지 및 돈을 투자해야하는 소프트웨어 기술 및 방법에 대해 많은 질문을 받습니다. 이에 관련하여 다음과 같은 5 가지 질문에 스스로 답해보시기 바랍니다.

  1. 가장 흥미로운 소프트웨어 기술은 무엇입니까?
  2. 어떤 업체의 구현물이 경쟁에서 이기는 가장 좋은 기회입니까?
  3. 내 직업 프로필에 얼마나 중요합니까?
  4. 고객에게 어떻게 판매 할 수 있습니까?
  5. 어떻게 하면 수익을 올릴 수 있을까요?

인공지능(AI)과 머신러닝(ML)은 패러다임의 변화이며 IT 역사상 가장 큰 혁명이 될 것이지만, 현재까지도 여전히 많은 어려움이 있습니다. 필자는 2015 년경에 머신러닝(ML)과 컴퓨터 비전(Computer Vision)을 매우 신중하게 바라보았습니다. 제 친구 Zoltan Feher 가 크리스마스 시즌에 우리와 함께 보냈습니다. 그때 우리는 인공지능(AI)으로 문제를 해결할 수 있는 컴퓨터 비전과 머신러닝(ML)이 적용된 가전 제품에 대해 브레인스토밍을 했었습니다. 이것이 앞서의 #1번 질문에 대한 대답일 것입니다. #2 번 질문에 대한 답을 찾는 것이 힘들었 기 때문에 확실한 방법으로 합성곱 신경망(Convolutional Neural Network, CNN)으로 MatLab 을 사용하여 구현해 보았습니다. 어떻게 작동하는지 알지 못했고, 그것에 대한 정답이 하나가 아니라는 것도 알고 있었지만, 그 당시에는 다른 어떤 것도 보이지 않았으며 지금도 그렇게 할 것입니다. 처음 두 질문에 답하는 것은 인공지능(AI)과 머신러닝(ML)이 저의 시간, 에너지 및 돈에 가치가 있다고 결정할만큼 충분히 매력적이었습니다. 그때의 의사결정은 많은 산업 리더와 포럼을 통해 확인할 수 있었습니다. 물론 사람마다 다를 수 있습니다.

이 글에서는 3 가지 주요 인공지능(AI)에 대한 학습 경로, 관련 내용 및 장단점에 대해 설명합니다. 그러나 그 전에 사물을 바라보는 관점을 좀 다르게 볼 필요가 있습니다. 왜 인공지능(AI)을 사용해야하며, 왜 인공지능(AI)으로 진입해야하는지, 마지막으로 왜 지금이어야 하는지에 대해서요.

 

인공지능(AI)을 사용하는 이유

전통적인 프로그래밍으로는 해결할 수 없는 문제가 있지만 머신러닝(ML)은 이를 해결할 수 있습니다. 데이터 과학자는 다섯 가지 간단한 질문을 통해 문제를 분류 할 수 있습니다. Brandon Rohrer는 5 개의 항목이 무엇인지에 대해 자세히 설명하는 훌륭한 게시물을 가지고 있으며, 아래에 요약하였습니다.

데이터 과학자의 5 가지 질문 [00:18:19]

  1. 어떤 카테고리? – 분류 (바이너리, 멀티 클래스)
  2. 이상한가요? – 변이 (Anomaly)
  3. 얼마나 크게/많게 예측합니까? – 회귀 분석 (Regression)
  4. 이것은 어떻게 관련되어 있습니까 (데이터 구조)? – 클러스터링, 추천 시스템
  5. 무엇 향후 계획? – 강화 학습 (Reinforcement Learning)

이것들을 자세히 보도록 하겠습니다.

1. 분류 / Classification
때로는 환자가 병에 걸렸는지 아닌지 분류하는 것처럼 사물을 분류해야합니다. 분류 : 출력 변수는 클래스 라벨(class label) 입니다.

 

2. 회귀 분석 / Regression
우리가 물을 수있는 또 다른 질문은 미래의 문제를 예측하는 것입니다. 예를 들어, 주택의 크기와 위치에 따라 주택 가격이 약간의 수치 (연속적 일 수 있음) 일 수 있습니다. 회귀 : 출력 변수는 연속적인 값입니다.

 

3. 변이 / Anomaly
또 다른 클래스의 알고리즘은 이상 탐지기 (outlier detection)라고도 불립니다. 예상되는 패턴이나 데이터 세트의 다른 항목을 따르지 않습니다. 일반적인 문제는 은행 사기, 스팸, 구조적 결함, 의학적 상태 또는 텍스트 오류입니다.

 

4. 클러스터링 / Clustering
유사성을 기반으로 데이터 세트를 여러 그룹 (클러스터)으로 분류하는 것입니다.

 

5. 추천 시스템 / Recommender System
Netflix와 Amazon이 본인이 좋아할만한 영화나 제품을 추천하고있는 방법을 생각해보십시오.

 

6. 강화 학습 / Reinforcement Learning
바둑은 체스보다 더 복잡한 순서 구조입니다. 알파고/AlphaGo는 2016년 12월에 이어 2017년 5월에도 다시 세계 챔피언을 이겼습니다. 알파고는 이제는 알파고 끼리의 자체 대국을 통해 게임에서 더 잘 대처하면서 진화하고 있습니다. 이것이 강화 학습(Reinforcement Learning)의 예입니다.

5 Questions of a Data Scientist 768x428

데이터 과학자의 5가지 질문

데이터 과학은 어떻게 동작합니까?

알고리즘 = 요리레시피

데이터 = 재료

컴퓨터 = 믹서기

해결책 = 스무디

인공지능(AI)으로 진입해야하는 이유

앞서의 다섯 가지 질문은 머신러닝(ML)의 힘을 보여 줍니다, 이는 전통적인 컴퓨터 과학으로는이 소화할 수 없는 것들입니다. 예를 들어 Excel에서 회귀 연산을 할 수 있지만 Excel은 행성 규모 데이터를 처리 할 수 없으며, 이를 위해서 설계된 것도 아닙니다. 따라서 우리는 데이터의 모든 관련 부분을 이미 걸러내어 새로운 정보를 수집할 때 매우 효율적으로 사용할 수 있도록 만들어야 합니다. 이것이 컴퓨팅 계산으로로도 매우 비싸고 힘든 과정의 학습 절차입니다. 이 모든 것들은 오늘날 우리가 전통적인 컴퓨터 과학으로 할 수 없는 것들입니다. 따라서 아무것도 없다면 이것이 인공지능(AI)으로 진입해야하는 아주 좋은 이유가 될 것입니다!

지금이어야 하는 이유

아래 이미지는 인공지능(AI), 머신러닝(ML) 및 인공 신경망 (신경 네트워크)과의 양파구조와 같은 관계를 설명합니다.

AI layers 768x452

인공지능(AI) 레이어

인공 신경망은 과거에는 잘 작동하지 않았습니다. 지금도 마찬가지고 그렇기 때문에 이유가 있는 것입니다. 세가지 촉매제가 이러한 폭발을 유발하고 유지하고 있습니다.

1. 새로운 수학 조합(New Combo of Math) : 스파크

2. 빅 데이터(Big Data) : 연료

3. 방대한 계산(Massive Computation) : 마력

학습 전략

머신러닝(ML)을 이해하는 데는 두 가지 다른 접근 방식이 있습니다.

하향식 

  1. 적용하고 있는 머신러닝(ML)의 프로세스를 배우세요.
  2. 문제를 해결할 수있는 도구를 사용하는 방법을 알아보세요.
  3. 데이터셋을 가지고 가능한 많이 연습하세요.
  4. 머신러닝(ML) 알고리즘의 상세 사항 및 이론으로 한걸음 더 들어가세요.


상향식
먼저 이론부터 시작하세요. 머신러닝(ML)에는 두 가지 측면이 있습니다.

  1. 실용 머신러닝(ML) 데이터를 정리하고, 데이터베이스를 쿼리하고, 데이터를 변환하고, 알고리즘과 라이브러리를 연계하는 활동입니다. 또한 까다로운 문제를 해결하기 위해 데이터로부터 신뢰할 수 있는 답을 얻어야 하는데, 이를 위해 직접 프로그램 코드를 작성해야 합니다. 꽤나 지저분한 일이지만 이것이 현실이죠.
  2. 이론적 머신러닝(ML) 그것은 학문적 수준의 수학, 추상화 및 이상화된 시나리오와 한계, 아름다움과 가능한 정보에 관한 것입니다. 그것은 훨씬 더 깔끔하고 깨끗하며 현실의 혼란들이 제거된 것입니다.

과거의 연구, 동기 부여, 결정 및 목표에 비추어, 필자는 상향식 방법 중 이론적 머신러닝(ML) 경로를 선택했습니다. 이것은 이론, 모델 및 하이퍼 파라미터 조정에 대한 철저한 이해가 하기 때문에 하향식 실용적 머신러닝(ML) 경로보다 어렵지만 훨씬 더 보람적입니다. 이것은 또한 당신의 시간과 에너지 그리고 약간의 자금에 대한 막대한 초기 투자를 필요로합니다. 데이터 정리, 기능 인지에 대한 실용적인 통찰력을 키워 다양한 모델을 더 잘 이해하게 되고, 최적화 과정에서 매우 유용한 직관을 개발하는 것이 일상적으로 반복되는 과정입니다. 머신러닝(ML)을 공부하는 것에 대해 그것이 좋거나 훌륭하거나 우수한지에 대한 판단이 모호하거나, 학습에 필요한 에너지를 투자하는 것에 대한 가치가 확실하지 않은 완전한 초보자는 하향식 머신러닝(ML) 경로에서 시작하는 것이 좋습니다.

Andrew Ng의 아래 두 인용문은 매우 적절합니다.

머신러닝(ML) 한 클래스 과정은 실제로 유용하게 적용 할 수있는 수준으로 발전했습니다.

머신러닝(ML)은 ‘실리콘 밸리에서 가장 많이 찾는 기술 중 하나’ 입니다. 

대수와 확률에 익숙하면 분명 도움이 될 것이라고 그는 덧붙였습니다. 그러나 자신의 코스에 대한 유일한 전제 조건은 프로그래밍에 대한 기본적인 이해입니다. 이 과정은 엄청나게 도전적일 수 있습니다! 아주 가까운 미래에 소프트웨어를 만들 방식은 과거에 소프트웨어를 제작 해왔던 방식이 아니기 때문입니다. 우리는 여지껏 컴퓨터 과학을 연구 해 온것이지,이것은 새로운 경험적 과학입니다. 이것은 또다른 과학 분야이기에, 시중의 유행어와는 달리 봐야합니다. 우리는 관련된 모든 새로운 유행어를 배워야합니다.

AI Buzzwords 768x431

인공지능(AI) 유행어

좋은 소식은 여러분이 그것들을 한꺼번에 배울 필요가 없다는 것입니다. 이것들이 다가 아닙니다. 다시 목표로 돌아가 봅시다. 목표는 여러분이 소프트웨어를 지능적으로 만들고 싶다는 것입니다. 따라서 Microsoft에서 제시하는 데이터 과학에 뛰어 들지 않고도 도움을 받을 수 있는 방법이 있습니다. 우선 인지 서비스를 제공합니다.이제 다양한 학습 경로와 데이터 과학에 몰두하는 수준에 대해 다시 생각해 보겠습니다.

세 가지 학습 경로

1. 인공지능(AI) 소비자

실용적인 머신러닝(ML) 경로입니다. Cognitive Services API (인지 서비스 API)를 사용하면 잘 할 수 있습니다. 이들은 몇 줄의 코드 만 사용하여 강력한 알고리즘으로 앱을 제작할 수 있도록 미리 준비된 미리 준비된 모델입니다. 본질적으로 당신은 인지 서비스 소비자가 되는 것이죠. Build 2017에서 Microsoft는 기능을 더욱 개방 한 맞춤 서비스를 도입했습니다. 다음은 사용 가능한 서비스의 스냅 샷입니다.

Cognitive Services list

Cognitive Services list

Cognitive Services Documentation 에서 설명서 및 자습서를보고 시작할 수 있습니다. Azure 개발자 워크샵 (스토리지,인지, ML/머신러닝(ML), 스트림 분석, 컨테이너 및 도커) 비디오 과정을 갖춘 Microsoft Virtual Academy 도 있습니다. 새로운 맞춤형 시각 및 음성 API를 사용하여 인지(Cognitive) 서비스의 기능과 정확성을 능가하는 경우 소매를 걷어 올려 시행 착오를 거쳐 몇몇 데이터 과학을 학습하면 됩니다.

 

2. 데이터 과학자

데이터 과학자의 TopTal정의는 다음과 같습니다.

데이터 과학자는 데이터에서 가치를 창출하는 사람입니다. 데이터 과학자의 임무에는 일반적으로 추천 엔진이나 자동 리드 스코어링 시스템과 같이 회사 내에서 다양한 머신러닝(ML) 기반 도구 또는 프로세스를 만드는 것이 포함됩니다. 이 역할 내의 사람들은 또한 통계 분석을 수행 할 수 있어야합니다.

개발자에서 데이터 과학자로 전환하는 방법은 무엇입니까? [00:32:20]

과거에는 Matlab, Octave, SciKit Learn와 같은 Python 패키지 같은 다수의 데이터 과학 및 머신러닝(ML) 도구가 있었습니다. 이 과정의 일환으로, 데이터 과학자들은 분석할 데이터에 대해 상세히 알아야 했습니다. Matlab 과 Octave이 이제는 통계 분석 및 플로팅 기능이 내장되어 갖추고 있습니다. Python의 경우도 numpy, matplotlib, Panda, Seaborn, Plotly 및 Cufflinks (제가 가장 좋아하는)와 같은 수많은 데이터 시각화 패키지를 사용할 수 있습니다.

데이터 과학자로서 자문해야할 할 많은 의문점들이 있습니다.

Azure Machine Learning Studio를 사용하여 이러한 모든 단계를 수행 할 수 있습니다. 데이터 과학에 대한 훌륭한 경험을 얻을 수 있으므로 멋지게 소화해 보세요. 다음과 같은 기능을 가지고 있습니다.

ML Studio 768x456

ML Studio

데이터 과학자가되는 방법을 배우기 위한 많은 설명서, 자습서 및 교육 비디오가 있습니다. 진지한 마음으로 경력을 쌓으려는 경우 데이터 과학 온라인 과정인 MOOC (Massive Open Online Course) 에서 제공하는 Microsoft 데이터 과학 전문가 프로그램을 추천합니다. MOOC 는 많은 비디오 강연으로 구성된 집중 장기 코스입니다.

데이터 과학자 학습 경로에 대한 조언

인지 서비스를 먼저 시작하세요. 거기에 좋은 것들이 많이 있습니다. 그것들만 활용하더라도 당신이 처한 문제를 해결할 수 있습니다. 이미 해결했을 수도 있겠지만, 그걸로 끝내지 마세요. 그것이 바로 앞에있는 모든 문제를 해결하고 있다고 해도, 저의 조언은 더 먼 길을 바라보고 가는 것입니다. 아울러 Azure ML Studio는 훌륭한 방법이라고 생각합니다. 이는 20년 전의 Visual Basic과 유사합니다. 많은 비 전문가를 끌어 들이고 생산성을 높이는 놀라운 시각화 기능을 갖추고 있습니다. 이 과정을 시작하십시오. 데이터를 가지고 놀고 데이터를 시각화해보세요. 그러다 보면 새로운 어휘력이 생기면서 관련된 분야의 새로운 사람들이 당신의 삶에에서 같이 하게 될 것입니다. 또한 MicrosoftML 을 확인해 보십시오. 다음 단계는 머신러닝(ML) 전문가 엔지니어가되는 것입니다. 마이크로 소프트는 전문가들 보상 프로그램을 가지고 있습니다.

AI Learning Path 768x91

인공지능(AI) 학습 경로

3. 머신러닝(ML) 엔지니어

다음이자 마지막 단계는 머신러닝(ML) 엔지니어입니다. 머신러닝(ML) 엔지니어는 데이터 과학자가 가지고 있는 기술에 더하여 모델을 설계하고, 하이퍼 파라미터를 조정하고, 데이터 과학자와 개발자가 소비 할 머신러닝(ML) 모델을 패키징 할 수 있어야합니다.

다음은 필수 기술입니다 :

  1. 컴퓨터 과학 기초 및 프로그래밍
  2. 확률 및 통계
  3. 데이터 모델링 및 평가
  4. 머신러닝(ML) 알고리즘 및 라이브러리 적용
  5. 소프트웨어 공학 및 시스템 설계

필수 기술 세트를 가르치기 위해 사용할 수있는 MOOC가 많이 있지만, 모든 것을 가르친 것을 찾지 못했습니다. 저는 전기 공학 석사 학위를 취득 했으므로 30 년 전에 공부 한 수학 중 대부분은 공부했지만, 지금에 필요한 재교육 자습서가 필요했습니다.

따라서 Machine Learning Engineer 커리큘럼을 작성해야했습니다.

추천 코스 및 자료 :

Google의 TensorFlow처럼, 이전에 CNTK로 알려진 Microsoft Cognitive Toolkit 은 USQL 및 Python을 통해 로컬 GPU, Azure 및 Azure Data Lake, SQL Server 2017에서 각각 실행되는 정교한 신경망 모델을 개발할 수 있습니다. 다른 어떠한 솔루션 보다 대규모 병렬 설정을 이용할 수 있습니다. Sayan Pathak 와 Roland Fernandez가 6 월 26 일 시작하는 edX의 새로운 인지 툴킷(Cognitive Toolkit ) 과정을 수강하는 것을 적극 추천합니다.

EdX CNTK course

edX Cognitive Toolkit course

배치 인공지능(AI) 교육

Cognitive Toolkit은 다중 GPU, 다중 서버 클러스터 교육일 때 빛을 발휘합니다. 이것이 금속이 길을 걷는 곳이며,이 기술적 경이로움을 이용하려면 머신러닝(ML) 엔지니어여야 합니다. 이제는 NVIDIA Tesla P40 및 P100 GPU 를 사용하여 NC 및 ND 시리즈 Azure 노드로 구성된 배치 인공지능(AI) 교육을 수행 할 수 있습니다.

Size CPU’s GPU Memory Networking
ND6s 6 1 P40 112 GB Azure Network
ND12s 12 2 P40 224 GB Azure Network
ND24s 24 4 P40 448 GB Azure Network
ND24rs 24 4 P40 448 GB InfiniBand
Size CPU’s GPU Memory Networking
NC6s_v2 6 1 P100 112 GB Azure Network
NC12s_v2 12 2 P100 224 GB Azure Network
NC24s_v2 24 4 P100 448 GB Azure Network
NC24rs_v2 24 4 P100 448 GB InfiniBand

인공지능(AI) 혁명 세션을 탐색하여 다른 개발자가 인공지능(AI) 소비자, 데이터 과학자 또는 머신러닝(ML) 엔지니어가되기 위해 취한 학습 경로를 확인하십시오.

AI는 얼마나 빨리 혁신되고 있습니까?

Google Brain 프로젝트는 2012년 여름 16천개 CPU와 12 명의 과학자가 이미지의 고양이를 인식했습니다. Geoffrey Hinton, Alex Krizhevsky 및 Ilya Sutskever는 그해 2012년 겨울에 Convolutional Neural Network (CNN)라는 다른 기술을 사용하여 단 3 개의 GPU만으로 동일한 작업을 수행했습니다. 다른 장점은 정확도입니다. 상대적으로 적은 양의 데이터에 대해서 전통적인 머신러닝(ML)과 신경 네트워크는 동일한 정밀도로 동작합니다. 그러나 전통적인 머신러닝(ML) 관련 최고의 제품에서의 결과에 대한 제약이 있다면, 신경망은 더 많은 데이터로 인해 계속 좋아질 것입니다. 그래서 우리는 더 많은 데이터를 계속 던지고 있습니다.

Accuracy2

Deep Learning Accuracy / 딥러닝 정확도

결론

인공지능(AI)은 이제 멈출 수 없습니다. 이것은 점점 더 좋아지며 나아질 것입니다. 또한, 이것이 할 수 있고 잘하는 것들이 증가하고 있습니다. 이 패러다임의 변화는 IT역사상 가장 큰 변혁이 될 것입니다. 그리고 그것은 쓰나미처럼 모든 것을 휩쓸어 갈 것입니다. 파도의 꼭대기에서 저희와 함께 하시죠! 함께 미래를 만들어 봅시다!

참고 문헌

  1. 인공지능(AI) 혁명을 탐색하다 – Bill Barnes, Micheleen Harris
  2. 5 가지 질문 데이터 과학 답변 – Brandon Rohrer
  3. 데이터 과학 및 로봇 – Brandon Rohrer
  4. Microsoft Azure 머신러닝(ML)의 알고리즘을 선택하는 방법 – Gary Ericson, Larry Franks, Brandon Rohrer
  5. 맞는 알고리즘 찾기 – Brandon Rohrer
  6. 머신러닝(ML)을 위한 데이터 구성 방법 – Brandon Rohrer
  7. 데이터 정리 방법 – Brandon Rohrer
  8. 누락 된 값 처리 방법 – Brandon Rohrer
  9. 공학엔지니어적 기능이 작동하는 방식 – Brandon Rohrer
  10. 좋은 품질의 데이터를 얻는 방법 – Brandon Rohrer
  11. 왜 데이터를 시각화합니까 ? – Brandon Rohrer
  12. Microsoft Azure Machine Learning Studio의 치트시트 –  Gary Ericson, Larry Franks, C.J. Gronlund, Brandon Rohrer
  13. 소프트웨어 엔지니어를 위한 머신러닝(ML) – Nam Vu
  14. 응용 머신러닝(ML) 과정 – Jason Brownlee
  15. 머신러닝(ML)을 시작하기위한 4 단계 – Jason Brownlee
  16. Azure Machine Learning Studio는 무엇입니까? – Gary Ericson, Larry Franks, Paulette McKay
  17. 5 가지 기계 기술자가 되려면 필요한 기술 – Arpan Chakraborty
  18. 더 많은 GPU, 더 많은 전력, 더 많은 인텔리전스 – Corey Sanders
  19. MicrosoftML 소개 – Brad Severtson
  20. 통계 학습 입문 – Gareth James, Daniela Witten, Trevor Hastie 및 Robert Tibshirani
  21. Microsoft : 생산성 미래 비전 – Dr. Craig Sanderson, Andrew Phillips 박사, J Helen Fitton 박사, Pia Winberg 박사, Sita Narayan-Dinanauth 박사, Dr. Damien Stringer
  22. Google의 AlphaGo AI가 세계 챔피엔 Ke Jie 대국 승리 – Sam Byford (The Verge)
  23. 인터넷에서 최고의 데이터 과학 과정 – David Venturi
  24. 인터넷상의 모든 머신러닝(ML) 과정 – David Venturi

Peter Kim에 대하여

Peter Kim(김태영) PMP, Certified SAFe 5 Scrum Master (SSM), Certified ScrumMaster® (CSM®), Project Research Inc., CEO / Founder, +82-10-9344-7505

한 개의 응답 to “인공지능(AI)과 머신러닝(ML) 학습 경로”

  1. 잘읽었습니다

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.