Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문

1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기

Kellyyyy 2020. 6. 1. 08:00

 

 

요즘 신문기사를 읽다보면 인공지능, AI 와 같은 단어를 매일 한번씩은 꼭 마주친다.

그만큼 우리가 인공지능을 실생활에서 점점 더 많이 활용하고 있는 것이라 생각한다.

 

인공지능을 공부하는 사람으로써, 오늘은 '인공지능'의 기초개념을 짚고 넘어가려고 한다.

 

 


 

인공지능(AI)이란?


인공지능(AI)은 Artificial Intelligence의 우리말이다.
나무위키에서는 인공지능을 아래와 같이 정의한다.

인공지능 인간의 지능을 갖고 있는 기능을 갖춘 컴퓨터시스템이며, 인간의 지능을 기계 등에 인공적으로 시연(구현)한 것이다. 또한 그와 같은 지능을 만들 수 있는 방법론이나 실현 가능성 등을 연구하는 과학 분야를 지칭하기도 한다.

 

정리하면,

인공지능이란 인간의 지능을 기계에 구현하는 것 또는 관련 연구 분야를 의미한다.

 

인공지능은 2가지 개념으로 나뉜다.

강인공지능(strong AI)과 약인공지능(weak AI).

 

 

 

 

① 강인공지능

 

강인공지능은 사람과 구분이 안 될 정도로 강한 성능을 가진 인공지능이다.
아이언맨의 자비스를 생각하면 된다.

 

영화 <아이언맨>


영화 <아이언맨>에서 자비스는 마치 사람처럼 대화하고 농담을 하기도 한다.
책 <Do it 정직하게 코딩하며 배우는 딥러닝 입문>에서는 강인공지능에 대해 아래와 같이 기술한다.

‘현재 강인공지능을 만들 수 있는 방법에 대해 아는 사람은 아무도 없습니다. 심지어 강인공지능이 나올 만한 시기도 예측하기 어렵습니다. 그래서 많은 인공지능 과학자들은 강인공지능에 대해 섣불리 예측하거나 이야기하는 것을 꺼립니다. 지금까지 발전을 거듭하고 있는 인공지능 기술은 모두 약인공지능입니다.’

 

그렇다.

우리가 신문기사에서 접하는 인공지능은

모두 약인공지능에 속한다.

(자비스가 출시되려면 아~직 멀었다.)

 

② 약인공지능

 

약인공지능은 특정 영역에서 작업을 수행하는 인공지능을 의미한다.

테슬라의 자율주행자동차나 애플의 시리를 생각하면 된다.

 

머신러닝과 딥러닝도 모두 약인공지능의 영역에 속하는 개념이다. 
그래서 인공지능, 머신러닝, 딥러닝의 관계도를 그려보면 아래와 같다.

인공지능, 머신러닝, 딥러닝 관계도

 

그렇다면 머신러닝과 딥러닝은 대체 뭘까?

 

인공지능에 대해서 조금 공부해봤다면

머신러닝과 딥러닝에 대해 자주 접했을 것이다.

머신러닝과 딥러닝은 인공지능을 구현하기 위한 핵심기술들이다.

 

 


 

머신러닝이란?


머신러닝(Machine Learning)은 우리말로는 기계학습이다.


기계학습??

이게 뭔소린가 싶을수도 있는데,
머신러닝의 근본적인 원리를 알면

참 직관적인 단어라는 생각이 들 것이다.

머신러닝을 이해하기 위해서는 학습이라는 개념을 알아야한다.

 

학습이란 컴퓨터가 스스로 데이터의 규칙을 찾아내도록 하는 기술을 말한다.
이건 또 뭔소린가?

전통적인 프로그램은 사람(프로그래머)이 데이터의 규칙을 정해주었다.
반면 머신러닝을 사용한 프로그램은 컴퓨터가 데이터의 규칙을 찾는다.

 

전통적인 프로그램 (머신러닝 X) 인공지능 (머신러닝 O)
사람이 규칙을 정함 컴퓨터가 규칙을 찾음

 

데이터의 규칙을 찾는다는 게 무슨 말일까?

이해를 돕기 위해 예를 들어보겠다.


당신은 프로그래머이고,

강수여부를 예측하는 프로그램을 만든다고 해보자. 

 

당신은 머신러닝, 인공지능 기술에 대해 모른다.

그럼 강수여부를 예측하는 프로그램을 만들기 위해

어떤 일을 해야할까?

 

우선 비가 오는 날의 특징을 파악해야 할 것이다.

그래서 당신은 기상청 사이트에서 들어가서

최근 1년간 비가 온 날들의 온도, 습도등의 지표를 확인했다.

 

몇일에 걸쳐 1년치의 날씨데이터(온/습도, 강수여부 등)를 살펴보던 당신은 한 가지 규칙을 찾아냈다.

 

습도 강수여부
60% O
20% X
70% O
...  
50% X

 

‘습도가 60% 이상이면 그 다음날은 비, 습도가 50% 이하이면 그 다음날은 맑음이다!!’ 

 

당신은 강수여부를 예측하기 위해 데이터를 확인했고, 규칙을 찾아냈다.

 

이제 이 규칙에 맞게 프로그래밍을 하면

강수여부를 예측하는 프로그램을 만드는 것이다.

 

하지만 이 방식에는 큰 한계가 있다.

우선 최근 1년간의 데이터를 모두 확인하는 것은 시간도 너무 오래걸리고,

고작 1년치로 강수여부를 파악하기에는 데이터가 너무 적다.

(그 해에만 비가 너무 자주 왔을 수 있다..)

 

데이터를 확인하면서 실수가 있을 수도 있으며,

새로운 데이터가 생길 때마다 확인해서 필요하면 규칙을 수정해줘야한다.

 

매우 비효율적이다.

 

그래서 컴퓨터가 스스로 데이터의 규칙을 찾을 수 있는 방법을 찾아내기 시작했고,

그 결과 머신러닝이 탄생했다.

 

머신러닝을 사용한 강수예측 프로그램은

컴퓨터가 아래와 같은 규칙을 스스로 찾는다.

 

‘지금까지 비 온 날의 데이터를 종합해보니 습도가 58%이상이면 다음날 비가 왔다’

 

속도는 사람이 하는 것 보다 훨씬 빠르기 때문에 

같은 시간안에 3~4년치의 데이터를 확인할 수 있고,

실수도 하지 않는다.

 

당신이 해주어야할 것은 프로그램에 머신러닝 기술을 구현하는 것뿐이다.

 

이렇게 컴퓨터가 스스로 데이터의 규칙을 찾아내는 기술을 학습이라고하고,
학습이 바로 머신러닝의 핵심개념이다.

 

머신러닝의 핵심개념을 알았으니 다시 이름을 살펴보자.

 

머신(기계, 컴퓨터) + 러닝(학습) : 기계(컴퓨터)가 학습(스스로 데이터의 규칙을 찾아내는)하는 기술

 

정말 직관적이다!

한 스텝 더 나가보자.

그렇다면 어떻게 머신러닝을 구현할 것인가?

 

머신러닝 알고리즘을 사용하면 된다.

*알고리즘이란 어떤 문제를 해결하기 위한 절차, 방법, 명령어들을 말한다.

 

이미 많은 머신러닝 알고리즘이 개발돼있기 때문에

당신은 머신러닝 알고리즘을 공부하고,

프로그램 언어(ex. 파이썬)로 컴퓨터에 구현해주면 된다.

 

머신러닝 알고리즘의 종류는 여러가지가 있는데, 
선형회귀, 로지스틱회귀, 인공신경망등이 있다.

이때 인공신경망 알고리즘을 사용한 방식을
바로 딥러닝이라고 한다.

딥러닝이란?

 

그렇다.
딥러닝은 머신러닝의 일부분이다.
그래서 위에서 그린 관계도는 다음과 같이 수정할 수 있다.

 

딥러닝에 대해서 조금 더 살펴보자.
딥러닝은 인공신경망 알고리즘을 사용한 기술이라고 했다.

그럼 인공신경망은 무엇일까?

인공신경망은 인공 + 신경 + 망을 합친 단어이다.

인공적으로 구현한 신경구조의 모임이다.

 

그럼 우리 뇌의 신경구조와 인공신경의 구조를 비교해보자.

 

(좌) 우리 뇌의 신경(뉴런) vs (우) 인공신경

 

어떤가?

비슷한 구조를 가진 것 같은가?

 

그림 상으로는 비슷하다고 느끼지 못할 수 있지만,

우리 뇌의 신경과 인공신경 모두 입력을 받아 출력으로 전달하는 구조를 가지고 있다.

인공신경 그림에서 x,w,b는 입력, y는 출력을 의미한다.

(다만 구조만 같을 뿐 인공신경은 실제 우리 뇌가 작동하는 방식과는 완전히 다르다고 한다.)

 

자세한 내용은 다음에 인공신경망을 구현하는 내용을 다룰 때 살펴보도록 하고,
지금은 큰 구조만 이해하자.

 

위와 같은 인공신경이 여러개 쌓여서 모임을 만들면

그게 바로 인공신경망이다.

 

인공신경망

머신러닝 vs 딥러닝

 

그럼 마지막으로 머신러닝과 딥러닝의 차이점에 대해서 짚어보자.

머신러닝과 딥러닝의 가장 큰 차이점은 처리하는 데이터의 종류이다.
딥러닝은 머신러닝이 처리하기 어려운 데이터를 더 잘 처리한다.

 

머신러닝은 데이터베이스나 엑셀 등에 담긴 형식이 정해진 데이터를 잘 처리한다.

반면, 딥러닝은 일정한 형식이 없는 영상, 음성 등의 비정형데이터를 잘 처리한다.

 

머신러닝 딥러닝
데이터베이스, 엑셀, csv등에 담긴 정형데이터
(ex. 암환자의 검진데이터, 매출데이터 등)
이미지, 영상, 음성, 소리, 텍스트 등 비정형데이터


무조건 딥러닝이 더 발전된 기술인 거 같으니 써봐야지! 가 아니라
어떤 기술이 언제 적합한지 따져보고 활용하는게 중요할 것 같다.

 

이상 인공지능, 머신러닝, 딥러닝에 대한 기초개념 포스팅을 마친다.


참고문헌
책 [Do it! 정직하게 코딩하며 배우는 딥러닝 입문], 박해선 지음, 이지스퍼블리싱