기존 프로그래밍과 기계학습의 차이점
글. 오상문 sualchi@daum.net
1. 기존 프로그래밍 처리 구조
기존 프로그래밍 방식은 프로그램에 규칙을 넣고, 자료를 제공하면 그것에 해당하는 결과물(해답)이 출력되는 구조입니다. 이런 방식은 수동적인 규칙 주입에 의해 프로그래밍이 동작하므로 자율적인 규칙 생성이 어렵습니다. 예를 들어, 기존 프로그래밍 방식은 바둑 프로그램을 만들 때 다양한 케이스이나 조건에 따라 어떻게 다음 수를 처리할지 프로그래밍해야 합니다. 이러한 방식은 경우의 수가 많아질 수록 엄청난 비용이 필요합니다.
2. 기계학습(머신 러닝) 처리 구조
이미 존재하는 자료와 해답을 제시하고, 기계학습을 통해 규칙이라는 결과물을 만들어냅니다. 그러면 그런 규칙을 통해 다른 자료에 대한 해답을 예측할 수 있게 됩니다. 규칙은 기계학습 형태에 따라 달라질 수 있으며, 최적화된 규칙을 찾아내는 것이 중요합니다.
기존 프로그래밍 처리에서는 이미 존재하는 규칙 기반으로 동작하지만, 기계학습은 훈련을 통해 규칙을 찾아내고 발전시켜 나가는 방식입니다. 목표 작업과 관련된 대량의 사례 자료를 제공받으면 통계 구조를 찾아내고 작업을 자동화하는 규칙을 만들어내는 것입니다.
기계학습의 기반 이론이 수리 통계와 관련되어 있지만 그렇다고 여러분이 수리적인 이론 기반에 얽매여 고민하다가 포기할 필요는 없습니다. 구글 텐서플로우와 같은 이미 구축된 기계학습 플랫폼을 이용한 기계학습 프로그래밍이 가능하기 때문입니다.
인공지능 기반의 바둑 프로그램은 기존 사례를 학습하거나 스스로 기본 규칙을 이용하여 자율학습하는 형태로 더 좋은 규칙을 만들어 나갑니다. 기존에 짜여진 틀에서 판단하는 기존 프로그래밍 방식에 비해서 기계학습 방식은 상대적으로 초기에 훨씬 많은 투자가 필요하지만, 규칙을 생성하는 과정이 안정적으로 동작하는 단계가 된다면, 스스로 끊임없이 학습하면서 더 좋은 규칙을 찾아내고 더 좋은 해답을 얻을 수 있게 됩니다.
<이상>
'AI 머신러닝' 카테고리의 다른 글
딥러닝 플랫폼, 텐서풀로우, CNTK, 티아노(씨아노) (0) | 2020.01.03 |
---|---|
딥러닝과 신경망 모델 (0) | 2020.01.03 |
파이썬, 텐서플로우 예제 (0) | 2020.01.02 |
텐서플로우, 케라스 사이트 (0) | 2020.01.01 |
기계학습 자료와 분석 유형 (0) | 2019.12.30 |