Tech

AI 머신러닝 딥러닝 간단 이해

AI 와 Machine Learning 그리고 Deep Learning이 무엇인지 최대한 간단히 이해해보도록 하겠습니다.

AI을 너무 풀어 쓰면 환상적인 면만 부각이 되는것 같아 AI를 만드는 사람 입장에서 정리해봤습니다.

AI 개발자가 아니더라도 내 비즈니스에 활용을 하려면 실제적인 AI를 알아가야 한다고 생각합니다.

AI

AI하면 로봇이 먼저 떠오릅니다.

좀더 나아가 생각해보면 로봇역할을 하는 기계안에 Software로 만들어진 Program인 AI가 포함되어 있습니다.

AI in Robot

하지만 이제 AI 스피커등으로 인해 꼭 로봇의 형태만이 AI가 아님을 이제 많이들 알게되었습니다.

그럼 로봇에 들어간 모든 SW는 AI일까요?

AI는 무엇일까요?

Artificial Intelligence (인공 지능)

지능이 포인트겠죠?

Intelligence

Intelligence (지능) 위키백과를 참조하면 중요한 사항은 적응성, 학습능력 그리고 추론 능력이라고 보입니다.

먼저 추론 능력이 뭘까요?

이미 알고 있는 또는 확인된 정보로부터 논리적 결론을 도출하는 행위.

예를 들어 우리가 b라는 글자를 인식하는 프로그램을 만든다고 가정해보겠습니다.

프로그래머들은 b 라는 글자를 분석하여 특징을 찾아낸다음 여러 if 문을 통해서 해당 이미지가 b인지 아닌지 판단하는 프로그램을 만들것입니다.

즉, 프로그램이 스스로 판단하지는 못하고 프로그래머가 논리를 만들어 정해준대로만 판단합니다.

하지만 추론을 하려면 반드시 전제되어야 하는 것이 b 라는 글자의 특징을 프로그램이 스스로 판단해야 한다는 것입니다.

프로그램이 스스로 판단을 할 수 있을때 이를 인공 지능이라고 부를 수 있겠습니다.

Machine Learning

스스로 판단을 하는데는 반드시 학습 과정이 필요합니다.

아이가 주어진 환경에서 경험을 통해 배움으로써 스스로 판단할 수 있게 되는것처럼 말입니다.

인공 지능도 반드시 학습 과정이 필요합니다.

하지만 인공지능은 앞서 이야기 했듯이 컴퓨터 시스템 안에서 동작하는 프로그램입니다.

그러니 인간이 아니라 컴퓨터 시스템 즉 머신이 학습을 한다고 하여 머신러닝이라고 합니다.

그럼 머신러닝이 어떻게 이루어지는지 프로그래머가 무엇을 해주어야 하는지 저희가 일반적으로 하는 프로그래밍과 비교를 해보겠습니다.

그림을 하나 그려봤습니다.

Traditional Programming vs Machine Learning

이렇게 그림을 그려놓으니 일반적인 프로그래밍과 머신러닝에서 프로그래머가 해야 할 일이 크게 다른게 없어 보입니다.

하지만 자세히 보면 Input Data를 처리하여 Ouput을 출력하는 프로그램 즉 판단 논리를 인간이 아니라 컴퓨터가 스스로 만들어내는것 그게 핵심입니다.

여기서 프로그래머가 해주어야 할 일을 정의한다면 다음과 같이 다릅니다.

  • Traditional Programming : Data를 분석하고 이를 처리하는 Program을 만드는 것
  • Machine Learning : Data를 잘 분석할 수 있는 Machine Learning Algorithm을 만들어 제공하고 기계가 Data를 분석하고 이를 처리하는 Program을 만들수 있도록 하는것

적응성

앞서 언급한 인공지능의 특징에서 추론능력과 학습능력 그리고 적응성이 있었습니다.

b를 판단하는 프로그램을 만들었는데 손글씨의 b 인식에 오류가 많아 프로그램을 업데이트 해야 합니다.

일반적인 프로그래밍은 프로그래머가 필기체 b에 대해서 다시 특징을 파악하고 결과를 비교해가면서 프로그램을 업데이트해야 합니다.

하지만 머신러닝은 이미 만들어져 있는 Machine Learning 알고리즘 시스템에 손글씨 b와 정답 즉, 변화된 환경만 추가로 제공해주면 스스로 거기에 적응하여 프로그램을 업데이트합니다.

저는 이게 적응성이라고 생각합니다.

Deep Learning

그럼 Deep Learning은 뭘까요?

Deep Learning의 다양한 Machine Learning Algorithm의 한 종류입니다.

학습을 하는데 있어 인간의 뇌세포로부터 힌트를 얻어 만든 방법입니다.

마치며

인공지능은 추론이 가능해야 하며 이를 위해서는 머신러닝을 통해 학습을 해야 합니다.

정확성을 높히기 위해서 인간의 뇌세포로부터 힌트를 얻은 방식을 적용한 머신러닝 알고리즘 방식이 딥러닝입니다.

아이가 환경을 학습하고 적응하려면 부모가 적절한 환경을 제공해야 하는 것처럼 인공지능도 스스로 학습하고 적응하되 인간이 적절한 알고리즘과 데이터를 제공해야 합니다.

최대한 간단하게 정리해본 AI입니다.

혹시 다른 의견이 있으시면 의견 부탁드립니다.

Leave a Reply