안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
오늘은 머신러닝에 대해서 공부해보려 합니다. 정말 자주 들었지만 정확히 무엇인지 몰랐던 머신러닝의 개념을 오늘 정리해 보겠습니다.
비전공자가 혼자서 독학으로 공부하고 정리한 것이라 잘 못된 점이 있을 수 있으니 양해 부탁드립니다.
인공지능 / 머신러닝 / 딥러닝
인공지능(AI): 사람의 지능을 모방하여, 사람이 하는 것과 같이 복잡한 일을 할 수 있게 기계를 만드는 것
머신러닝(ML): 기본적으로 알고리즘을 이용해 데이터를 분석 및 학습하며, 학습한 내용을 기반으로 판단및 예측
딥러닝(DL): 머신러닝의 다양한 방법론 중 하나로 인공신경망에서 발전한 형태의 인공지능
머신러닝을 설명하려면 먼저 인공지능이 무엇인지부터 알아야합니다.
인공지능이란?
인공지능(Artifical Intelligence)은 인간의 학습능력, 추론능력, 지각능력, 그외에 인공적으로 구현한 컴퓨터 프로그램 또는 이를 포함한 컴퓨터 시스템입니다. (위키 백과)
쉬운 예를 하나 들자면, 개와 고양이 사진을 보고 구분할 수 있도록 알고리즘을 만들어 컴퓨터가 알아서 판단하는 능력을 구현하는 것도 인공지능 기술이라 할 수 있겠습니다.
전통적이고 가장 쉽게 생각할 수 있는 구분 방법은 사람이 개와 고양이를 구분할 수 있는 특징을 알고리즘으로 구현해서 기계(컴퓨터)에 명령을 내려주는 것입니다. 반복되는 형태나 규칙을 패턴이라고 하는데 이런 패턴을 알고리즘으로 구현하는 일을 모델링(Modeling)이라고도 합니다.
모델링을 사람이 직접하고, 컴퓨터는 그 모델을 단순히 수행하는 역할에서, 머신러닝의 개념이 출현하고 컴퓨팅 파워가 발전하면서 모델링을 컴퓨터가 수행하게 된 것이죠.
머신러닝이란?
머신러닝이란 말그대로 기계(Machine) + 학습(Learning)의 합성어로 기계가 스스로 학습하는 것을 말합니다.
무엇을 학습하냐면, 위에서 언급했던 모델을 스스로 학습 합니다. 즉, 머신러닝은 모델을 만드는 하나의 방법론인 것입니다.
사람이 컴퓨터에 데이터(개와 고양이 사진)와 도출하고자 하는 판단 결과(이것은 고양이/개입니다) 데이터를 입력해주면, 컴퓨터가 알아서 판단 알고리즘을 모델링 하는 것입니다.
사실 엄밀히 말하면 컴퓨터가 알아서 하는 것은 없습니다. 컴퓨터가 알아서 모델링 하는 것도 사람이 여러가지 기계학습 방법을 만든 것입니다. 어떻게 하면 효율적으로 컴퓨터가 학습을 할 수 있을까를 연구하는 것이 인공지능(AI) 분야의 핵심이라고 생각됩니다.
이러한 방법론에는 지도학습, 비지도학습, 강화학습, 그 외 엄청나게 많은 방법론들이 있습니다. 다음에 하나씩 공부하며 포스팅 해보도록 하겠습니다.
딥러닝이란?
딥러닝은 인간 두뇌의 생물학적 신경망에서 영감을 얻어서 만든 머신러닝의 여러 방법론 중의 하나입니다. 딥러닝이 머신러닝 분야에서 너무 핫해서 일반인들에게는 거의 동일 시 되기도 하죠.
deep neural networks, convolutional deep neural networks, deep belief networks와 같은 다양한 딥 러닝 기법들이 컴퓨터 비전, 음성인식, 자연어 처리, 음성/신호처리 등의 분야에 적용되어 최첨단의 결과들을 보여주고 있습니다.
2016년 3월 한국을 떠들썩 하게 했던 알파고(AlphaGo)도 딥러닝 기술을 활용한 바둑 프로그램입니다.
딥러닝만 해도 엄청난 방법론들이 있고 그 개념이 어렵고 방대해서 이 부분도 추후 공부하며 포스팅 하도록 하겠습니다.
<참고 자료>
https://www.zendesk.kr/blog/machine-learning-and-deep-learning/