본문 바로가기

AI 관련 학습 자료/머신러닝과 딥러닝

머신러닝, 딥러닝, 알고리즘(천재학습백과 초등 소프트웨어 용어사전)

머신러닝

요약 컴퓨터가 스스로 방대한 데이터를 분석해서 미래를 예측하는 기술.

 

머신러닝을 우리말로 옮기면 '기계 학습'이라고 할 수 있는데 이것은 인공 지능을 가능하게 하는 방법 중 하나입니다. 컴퓨터는 데이터를 분석하고 스스로 학습하는 과정을 거치고 나면 패턴을 인식할 수 있는 능력을 갖추게 됩니다. 이렇게 되면 입력하지 않은 정보에 대해서도 판단, 결정할 수 있게 되는 것이지요. 이것이 바로 기계 학습이라고 합니다. 기계학습은 다시 말해, 방대한 양의 데이터 가운데 비슷한 것끼리 묶어내고 서로 관계있는 것들의 상하구조를 인식하여 이것을 바탕으로 앞으로의 행동을 예측하는 기술인 것입니다.

예를 들어, 컴퓨터에게 수많은 고양이 사진을 보여 주면서 ‘이것이 고양이 사진이다’라고 알려줍니다. 반복되는 고양이 사진 속에서 컴퓨터는 고양이가 가진 평균적인 모습에 대해 학습하게 됩니다. 기계 학습이 이뤄지고 난 이후에는 보여 주지도 않았던 고양이 사진도 고양이 사진으로 판별할 수 있게 되는 것이죠.

스마트폰의 사진첩을 이용하다보면, 사진을 분류하는 방법에 '동물', '자연', 또는 '음식'과 같은 기준이 있는 것을 알 수 있습니다. 이런 기준을 정해주면, 신기하게도 스마트폰 스스로가 저장되어 있는 사진을 분류해 냅니다. 이것 역시 스마트폰에 이미 들어있는 있는 소프트웨어가 기계 학습을 통해 어떤 이미지가 동물·자연·음식에 관한 것인지 판단할 수 있기 때문이랍니다.

인간에게는 고양이와 개를 구별하는 일이 아주 쉬운 일이지만 컴퓨터는 그렇지 않습니다. 하지만 이제 기계 학습을 통해 그 어려웠던 일이 조금씩 가능해지고 있습니다. 컴퓨터는 사람이 할 수 있는 일을 하지 못하기도 하지만, 때로는 사람이 할 수 없는 일을 가능하게 해 주기도 합니다. 머신러닝 기술로 이제는 컴퓨터가 기계 학습을 통해 사람이 그렇듯 사물을 분별할 수 있는 눈을 갖게 되었습니다. 이것을 바탕으로 만들어질 인공지능이 앞으로 인간의 삶을 어떻게 바꿔놓을지 기대가 되고 있습니다.

 

딥러닝

요약 스스로 학습하는 컴퓨터

딥러닝은 컴퓨터가 사람처럼 생각하고 배울 수 있도록 하는 기술을 뜻합니다. 많은 데이터를 분류해서 같은 집합들끼리 묶고 상하의 관계를 파악하는 기술이지요.

딥러닝은 기계학습의 한 분야라고 할 수 있습니다. 차이점이 있다면 기계학습은 컴퓨터에게 먼저 다양한 정보를 가르치고 그 학습한 결과에 따라 컴퓨터가 새로운 것을 예측하는 반면, 딥러닝은 인간의 '가르침'이라는 과정을 거치지 않아도 스스로 학습하고 미래의 상황을 예측할 수 있다는 것이지요.

예를 들어, 기계학습이 개발자가 다양한 고양이 사진을 컴퓨터에게 보여주고 ‘이것이 고양이이다.’라고 알려준 다음, 새로운 고양이 사진을 보았을 때 ‘고양이’라고 판단할 수 있도록 하는 것과는 다르게, 딥러닝은 스스로가 여러 가지 고양이 사진을 찾아보고 '고양이'에 대해 학습한 다음 새로운 고양이 사진을 보고 '고양이'라고 구분하는 것이죠.

2016년 2월에 한국의 이세돌 9단과 바둑 대별을 펼쳤던 인공지능 '알파고'도 딥러닝 기술을 통해 만들어진 프로그램입니다. 이세돌과 바둑을 두기 전까지 알파고는 끊임없이 스스로 바둑 기보를 가지고 바둑 전략을 학습했습니다. 사람이 특별히 정보를 입력한 것도 아니고, 다른 기계의 정보를 가져다 배운 것도 아닙니다. 알파고들이 서로 바둑을 두면서 바둑의 원리를 배웠고, 과거에 있었던 바둑 경기들을 스스로 학습하면서 어떤 상황에서는 어떤 수를 두어야 할지 배워나간 것입니다.

이처럼 사람과 같이 스스로 생각하고 학습하는 사람에게는 일상이기 때문에 비교적 간단한 문제이지만, 명령과 응답이 기본 체계였던 컴퓨터에게는 결코 쉬운 기술이 아닙니다. 하지만 딥러닝 기술이 사람처럼 배우고 판단하는 능력을 발휘할 때, 컴퓨터는 어쩌면 사람이 해결하지 못하는 문제도 해낼 수 있을지 모릅니다. 컴퓨터의 자료처리 능력은 사람과 비교 할 수 없을 만큼 빠르고 뛰어나기 때문입니다. 때문에 사람들 사이에서는 딥러닝 기술이 앞으로 우리 삶을 어떻게 변화시킬지에 관하여 많은 기대를 모으고 있습니다.

 

알고리즘

요약 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합.

알고리즘(algorithm)은 주어진 문제를 논리적으로 해결하기 위해 필요한 절차, 방법, 명령어들을 모아놓은 것입니다. 넓게는 사람 손으로 해결하는 것, 컴퓨터로 해결하는 것, 수학적인 것, 비수학적인 것을 모두 포함한답니다.

예를 들어 봅시다.
명희가 이렇게 물었습니다. "이번주 학원 숙제 다 했어?" 이에 영희는 "응. 다 했어."라고 대답합니다. 명희가 한 문장으로 간단하게 물어봤지만 영희는 그 말속에 '수학 문제 풀어오기, 국어 글짓기, 영어 단어 외워오기'가 포함되어 있음을 알고 있습니다. 이처럼 사람은 그 말속에 포함되어 있는 의미까지 이해할 수 있습니다. 하지만 컴퓨터는 그렇지 못합니다. 정확하게 무엇을 해야 할지 처리 내용과, 처리 순서를 모두 구체적으로 알려 주어야만 제대로 명령을 수행합니다. 그렇기 때문에 프로그램에 알고리즘이 필요한 것입니다.

이 명령을 수행한 다음에는 무슨 일을 처리하고, 그 다음에는 어떤 파일들을 모아서 어떻게 처리해야 할지, 구체적으로 명령의 내용과 순서, 처리 방법을 모아놓은 것이죠. 알고리즘은 어떻게 구성하는가에 따라 같은 문제를 풀더라도 오래 걸릴 수도 있고, 오류가 생길 수도 있으므로 효율적이고, 명확하게 만드는 것이 중요합니다.

프로그램을 만드는 전체 과정에서 볼 때, 알고리즘을 짜는 것은 [계획]단계라고 할 수 있습니다. 프로그램이 어떻게 행동할지를 결정해 주는 이 계획이 완성되면(알고리즘 계획) 그것을 프로그램 언어로 작성하여 소프트웨어를 완성하는 것이죠.

 

 

출처 : [네이버 지식백과] (천재학습백과 초등 소프트웨어 용어사전)