인.공.지.능


요즘에는 조금 과장해서 지나가던 개도 

인공지능을 한번 쯤은 들어봤다고 할 것 같습니다.

그만큼 조금 과하게 

너도 나도 할 것 없이 인공지능이라는

용어를 사용하고 있습니다.


가전이던 자동차던 핸드폰이던 모든 곳에

"인공지능을 사용한 ...... 인공지능으로 ...하는..." 

이라는 광고문구를 많이 사용합니다.


그럼 과연 인공지능은 무엇일까요?


 기계가 인간처럼 행동 하는 것? 그게 다일까요?

그럼 머신러닝과는 다른 의미 일까요? 

구글 알파고는 인공지능일까요 아니면 머신러닝일까요? 

그럼 또 딥러닝은 뭘까요?


이번 포스팅을 보신 분은 

위 질문들 중 하나 정도는 대답할 수 있으면 좋겠습니다. 


제가 글빨이 없어서 

제대로 전달이 될 수 있을지 걱정이네요ㅠ  


거두절미하고 이제 본론으로 들어가 보겠습니다.



인공지능의 사전적 의미를 보겠습니다. 


영어로 Artificial Intelligence (AI)입니다.

Artificial은 인공의 라는 의미로 직관적으로 이해가 됩니다. 

인공적 / 인위적으로 사람이 만든 것을 말하죠.


하지만 Intelligence는 지능이라는 의미이기는 하지만

뜻이 조금 모호합니다. 


그래서 조금 더 자세히 들여다 보겠습니다. 


우선 영영사전을 한번 뒤져봤습니다.


Intelligence is the ability to think, reason, and understand instead of doing things automatically or by instinct.

(번역 : Intelligence란 자동적으로 또는 반사적으로 

어떠한 행동을 하는 것이 아닌 생각하고

(논리적 근거를 바탕으로) 판단하고 이해하는 능력을 말한다.)


그래도 영영사전을 보니 

약간은 구체화 되었습니다.


즉 본능적으로 무엇을 하는 것은 지능이 아닙니다. 


예를 들어 

갓난 아이가 본능적으로

웃는 행위나 젖을 빠를 행위 또는 감으로 어떠한 행동을 하는 것

(시험 볼때 찍기 신공 같은 것들)은 지능이라고 할 수 없습니다. 


또한 로봇이 반복적으로 정해진 일을 계속 한다던지

사람이라도 생각하지 않고 

반복적 행동만 계속하는 것 처럼 

자동으로 어떠한 행동을 하는 것 또한 지능이라고 할 수 없습니다.

노동? 기계적인 움직임? 이라고 하는게 더 맞습니다.


지능이란, 

반드시! 생각을 하고 

논리적 근거를 바탕으로

 어떠한 판단을 내리고 이해하는

작업이 있어야 합니다.


그럼 다시 인공지능으로 돌아와서

자시 정의를 내리면 


인간이 인위적으로 만든 어떤한 것 (하드웨어 또는 소프트웨어)

그리고 그 어떤 것이 생각을 하고

논리적 근거를 바탕으로 판단 또는 이해를 한다고 할 때

우리는 그 어떤 것을 AI, 인공지능이라고 할 수 있습니다. 


정의에서는 보이는 것 처럼 

인공지능 용어 자체가 매우 

포괄적인 의미를 가지고 있습니다.


그리고 실제로 인공지능은

포괄적인 의미로 사용되고 있습니다. 


즉 머신러닝, 알파고, 딥러닝 등 모두 인공지능에 포함되는 것입니다. 

그래서 모든 제품에

쉽게 인공지능이라는 말을 이용 할 수 있는 것입니다.


그렇다면 머신러닝은 뭘까요? (갑작스럽지요?ㅋ)


자문자답을 해보면


인공지능은 머신러닝인가요? 정답은 아니요 입니다.

그럼 머신러닝은 인공지능인가요? 이 질문은 예 입니다. 


즉 머신러닝은 인공지능의 한 부분 기술을 말하는 용어입니다.


머신러닝 직독직해 해보면 기계학습 입니다.


여기서 기계는 컴퓨터 (전산 처리 장치) 입니다. 

즉 컴퓨터를 학습시키는 것을 

우리는 머신러닝이라고 합니다. 


사람이 사용하는 언어는 너무 많죠?

한국어, 영어, 일본어, 중국어.... 등등 

그리고 각 언어마다 a, b, c, d... ㄱ,ㄴ,ㄷ,ㄹ 처럼 

자음과 모음도 너무 다양하게 존재합니다.


하지만 컴퓨터 언어는 무엇일까요? 


컴퓨터 생각보다 단순하게 0과 1 밖에 알지 못합니다. 

스위치(트렌지스터)로 생각하면 OFF와 ON 만 알 수 있는 거죠. 

(2진수라고 합니다)


예를 들면 아래와 같습니다.

apple (영어) 

= 10000011010000101000010010011000101

(컴퓨터어, 아스키코드[Ascii Code]라고도 합니다.)


이처럼 기계를 학습시키려면

사람의 언어를 

또는 사람이 5감을 통해 얻을 수 있는 정보를

컴퓨터가 이해하는 언어로 바꿔 줘야합니다.


이러한 일을 하는 것을 우리는 알고리즘이라고 합니다.

*알고리즘 : 어떠한 문제를 해결하기 위한

일련의 절차를 공식화한 형태로 표현한 것 (특정 연산 수행)


즉 1000001 이라는 숫자를 a로 바꿔주는

 연산을 우리는 하나의 알고리즘이라고 부를 수 있습니다.


정리하면 


사람이 이해하는 것을 컴퓨터가 이해하도록 하는

알고리즘을 개발하는 것이 바로 머신러닝이 되겠습니다.


(2부에서 계속)


본업 중에 포스팅하려니 쉽지 않네요ㅠ

짧게 여러번 포스팅한다고 너무 화내지마세요, 

길게 하려니 시간이 너무 오래 걸리네요^^/













+ Recent posts