오늘은 희망 전공이 컴퓨터공학과라든가 빅데이터학과, 정보공학부 뿐만 아니라 전체 이과 계열 심지어 문과 계열의 전공희망자라 할지라도 자신의 진로와 연결시킬 수 있는 인공지능에 대한 수학세특 내용 추천입니다.
추천도서를 중심으로 이야기하겠습니다.
비전공자도 이해할 수 있는 AI 지식(박상길 지음, 반니)
박상길(프로그래머)
인공지능 엔지니어. 현대자동차의 인공지능 연구조직인 AIRS에서 기술 리더를 맡고 있다. 이전에는 카카오에서 챗봇을, 다음커뮤니케이션에서 검색엔진을 만들며 검색에서 빅데이터, 인공지능으로 이어지는 디지털 기술을 두루 경험했다.
카카오 코딩 테스트 출제 위원이었고 현대자동차 연구개발 채용의 기술 면접관으로 활동하며 오랫동안 IT 직군의 인재를 발굴하는 일도 진행했다. 2020년에 출간한 《파이썬 알고리즘 인터뷰》는 네이버, 카카오 등 국내 최고의 IT 기업에 취업하기 위해 반드시 읽어야 하는 필수 지침서로 통한다.
목차
1 인공지능: 위대한 인공지능, 깨어나다
2 알파고: 인간을 능가하는 기계의 등장
3 자율주행: 테슬라가 꿈꾸는 기계
4 검색엔진: 구글이 세상을 검색하는 법
5 스마트 스피커: 시리는 쓸모 있는 비서가 될 수 있을까
6 기계번역: 외국어를 몰라도 파파고만 있다면
7 챗봇: 챗GPT, 1분 안에 보고서 작성해줘
8 내비게이션: 티맵은 어떻게 가장 빠른 길을 알까
9 추천 알고리즘: 알 수 없는 유튜브 알고리즘이 여기로 이끌다
먼저 간단한 독후감 내용입니다. 네이버 AI인 클로바 X에게 독후감을 부탁했더니 다음과 같이 나옵니다.
“이 책은 인공지능의 기본 개념과 원리를 비전공자도 이해할 수 있도록 쉽게 설명한 책이다. 인공지능의 역사와 발전 과정, 인공지능이 인간의 삶에 미치는 영향 등을 다루고 있으며, 다양한 예시와 그림을 통해 이해를 돕고 있다.
책의 내용을 요약하면 다음과 같다.
- 인공지능의 정의와 역사
- 인공지능은 인간의 지능을 모방하여 컴퓨터가 스스로 학습하고 판단할 수 있도록 하는 기술이다.
- 인공지능의 역사는 1950년대부터 시작되었으며, 초기에는 인공신경망, 퍼지이론 등이 연구되었다.
- 1980년대에는 전문가 시스템이 개발되어 의료, 법률 등의 분야에서 활용되었다.
- 2000년대에는 딥러닝이 등장하여 인공지능의 발전에 큰 역할을 했다.
- 인공지능의 종류
- 지도학습: 입력 데이터와 출력 데이터를 함께 학습하는 방식으로, 이미지 분류, 음성 인식 등에 활용된다.
- 비지도학습: 입력 데이터만 가지고 스스로 학습하는 방식으로, 군집화, 차원 축소 등에 활용된다.
- 강화학습: 보상을 통해 학습하는 방식으로, 게임, 자율주행 등에 활용된다.
- 인공지능의 활용 분야
- 의료: 진단, 치료, 예방 등에 활용된다.
- 금융: 투자, 대출 등에 활용된다.
- 교육: 맞춤형 교육, 학습 도우미 등에 활용된다.
- 자율주행: 운전, 주차 등에 활용된다.
- 인공지능의 윤리적 문제
- 일자리 문제: 인공지능이 인간의 일자리를 대체할 수 있다.
- 개인정보 보호 문제: 개인정보가 유출될 수 있다.
- 윤리적 문제: 인공지능이 인간의 윤리적 가치를 침해할 수 있다.
이 책은 인공지능의 기본 개념과 원리를 쉽게 설명하고 있어, 비전공자도 쉽게 이해할 수 있다. 또, 인공지능의 활용 분야와 윤리적 문제를 다루고 있어, 인공지능에 대한 전반적인 이해를 높일 수 있다.
인공지능에 관심이 있는 사람이라면 이 책을 읽어보는 것을 추천한다. 이 책을 통해 인공지능에 대한 이해를 높이고, 미래를 대비하는 데 도움이 될 것이다.”
그런데 이런 독후감은 별로 도움이 되진 않습니다. 독후감을 쓴다면 책에 대한 서평보다는 자신의 진로와 관련있는 책의 특정 부분을 직접적으로 연결하여 쓰면 좋습니다.
“자동차에 관심이 많은 나는 특히 3장 자율주행에 관심이 갔다. 이제까지는 자율주행이 카메라의 성능이나 레이다의 정확성이 중요할 거라고 생각했었다. 그런데 베이즈 정리에 대한 내용을 읽고 수학적인 기반이 중요하다는 것을 깨달았다. 베이즈 정리에 대한 추가학습을 진행한 후에 나는 주행데이터 수집과 모방학습에 대한 간단한 모형화를 시도해 보기로 하였다….”
“현재의 인공지능이 결정적으로 발전한 계기는 생물의 신경망을 모방할 수 있는 방법을 찾았기 때문이라는 사실이 책을 읽으면서 나에게 가장 크게 다가왔다. 컨볼루션 신경망은 1959년 생물학자 데이비드 허블과 토르스텐 비셀 고양이 실험에서 발견한 현상에 기초하고 있다. 실험 결과 망막은 다양한 종류의 시각 데이터에 모두 반응했지만, 시각피질을 구성하는 세포는 점, 막대, 모서리 같은 특이한 모양에만 반응했다. 그래서 이 세포들에 막대 탐지기 또는 모서리 탐지기라는 이름을 붙였다고 한다. 생물학을 전공하고 싶은 나에게는, 동물이 사물의 모습을 판별하는 과정은 사물 전체를 한 번에 보는 대신 부분적인 형상들을 판별하여 결합하는 방식이라는 사실도 흥미로웠지만, 그것을 수학적으로 모방한 방법 또한 흥미로웠다. 생물의 신경망을 어떻게 모형화할 수 있는지 컨볼루션 신경망의 수학적 방식을 탐구해 보고 싶었다…”
그럼 이 책에서 소개하고 있는 수학적인 내용을 한 가지만 뽑아서 추가적인 탐구학습에 대한 주제를 제시해 보겠습니다. 그 주제는 물론 인공지능과 기계학습입니다.
탐구 학습-인공지능과 기계학습 (artificial intelligence and machine learning)
이 책의 주제가 되기도 하고, 특히 1단원의 주요 내용입니다. 결국 이 탐구는 “과연 기계는 생각할 수 있느냐?”, “기계가 생각한다는 것은 무슨 뜻이냐?”라는 질문에 대한 자신의 대답을 얻어 가는 과정입니다. 인공지능에 대해서는 다음과 같은 심화탐구주제 선정이 가능합니다.
1-1. 인공지능이란 무엇인가?
1-2. 기계학습의 알고리즘
1-3. 기계학습과 딥러닝
첫 번째 심화 탐구 주제는
인공지능이란 무엇인가?
입니다.
이른바 기계학습(Machine Learning)을 통해 인공지능이 가능해졌습니다. 그렇기에 우선은 기계학습과 기존 프로그래밍의 차별점을 탐구합니다.
프로그래밍 규칙+데이터 = 정답
정답과 데이터 (머신 러닝) 규칙
기존의 프로그래밍에서 컴퓨터는 길고 복잡하고 다양한 조건을 나누어서 계산할 수 있는 성능 좋은 계산기입니다. 하지만 기계학습을 통해 컴퓨터는 스스로 규칙을 찾아냅니다. 한 마디로 머신러닝이라는 학문은 기계가 명시적으로 코딩되지 않은 동작을 스스로 학습해 수행하는 방법을 연구합니다.
기계학습(Machine Learning)
명시적으로 프로그램하지 않고, 데이터로부터 학습하는 능력을 컴퓨터에게 주기 위한 연구
차이점을 탐구하기 위해서 기초적인 내용을 설명해 보겠습니다.
예를 들어 다음과 같은 입력과 출력의 자료가 주어져 있습니다.
(입력, 출력) = (1,3),(2,5),(3,7),(4,9)
기존 프로그래밍 방식에서는 프로그래머가 직접 관계를 찾습니다.
출력=입력2+1
그리고 이 관계를 이용해서 입력이 주어졌을 때, 그 출력을 계산하도록 프로그래밍합니다. 예를 들어 6이 주어지면 13을 출력합니다. 컴퓨터는 이때 단지 13을 계산하는 수단입니다.
하지만 기계학습 방식에서는 입력 출력의 자료를 알고리즘에게 제공하고 알고리즘이 직접 그 관계를 찾습니다.
출력=입력2+1
이 관계를 통해 입력 6이 주어졌을 때 13을 출력합니다. 예측치로써 말이죠.
그렇다면 기계학습이 규칙을 찾아내는 방식은 과연 무엇일까?
이어지는 탐구의 내용이 되어야 합니다. 선형대수학이나 벡터 해석 등의 내용이 있는데, 가장 직접적인 것은 통계학입니다. 그중에서도 핵심이 되는 내용은 통계학의 회귀분석입니다. 회귀분석은 두 변수 입력과 출력, 통계학의 용어를 쓴다면 독립변수와 종속변수 사이의 관계를 추정하는 방법인데 이 내용만으로도 탐구할 주제들이 많습니다.
탐구과정에서
선형회귀분석과 비선형회귀분석
(단순)회귀분석과 다중회귀분석
등의 내용들에 대해서 이해했어야 합니다.
간단하게 선형회귀분석을 설명하자면 다음과 같습니다.
- 종속변수와 독립변수 간에 선형관계가 존재하는지 알 수 있다.
- 종속변수에 영향을 미치는 독립변수가 “유의”한지와 영향력의 정도를 알 수 있다.
- 추정된 회귀모형을 통해 종속변수의 예측치를 알 수 있다.
이러한 기계학습의 결과 사용자가 인공지능을 통해 얻게 되는 대답은 확률적입니다.
시스템의 출력이 예측 가능한 경우 이를 결정적이라고 합니다. 대부분의 소프트웨어 애플리케이션은 사용자의 입력에 확정된 방식으로 반응하므로 “사용자가 이것을 입력하면 출력은 반드시 그것이다”고 말할 수 있습니다. 그러나 기계 학습 알고리즘은 데이터 집합을 통해 학습합니다. 따라서 본질적으로 학습의존적이고 확률적입니다. 물론 앞에서 예를 든 간단한 경우에는 인공지능도 결정적인 대답을 합니다. 그런데 일반적으로 결과는 이제 “사용자가 이것을 입력하면 그것이 발생할 가능성이 몇 %이다”로 바뀝니다.
따라서 인공지능이란 무엇인가?에 대한 탐구의 결론 부분은 “확률적인 지식”과 “결정적인 지식”이라는 주제에 대해서 자신의 생각을 확립하는 내용으로 이루어져야 합니다.
두 번째 심화 탐구 주제는 기계 학습의 알고리즘입니다.
알고리즘은 예상 출력과 입력 유형에 따라 4가지 고유한 학습 스타일로 분류할 수 있습니다.
- 지도 기계 학습
- 비지도 기계 학습
- 반지도 학습
- 강화 기계 학습
각각의 학습 유형들에 대한 심화 탐구를 진행합니다. 그리고 장단점들에 대해서 논의할 수 있습니다. 간단히 정리하자면 다음과 같은 내용으로 탐구를 진행하게 됩니다.
지도 기계 학습은 문제와 정답을 동시에 제공하여 알고리즘을 학습시키는 것입니다. “이 사진은 사과다, 이 사진은 사과가 아니다….그런 다음 기계 학습 애플리케이션은 이 훈련 데이터를 사용하여 과일 이미지가 주어졌을 때 과일 이름을 추측할 수 있습니다. 그러나 수백만 개의 자료라면 정답을 일일이 정해주는 작업 자체가 매우 시간이 많이 걸리고 어려운 일이 될 수 있습니다.
비지도 기계학습은 정답이 정해지지 않은 자료들에 대해서 알고리즘을 학습시킵니다. 알고리즘은 스스로 패턴을 발견하고 데이터를 분류할 수 있습니다. 따라서 비지도 학습은 패턴 인식, 이상 감지, 범주로 데이터 자동 그룹화에 유용합니다.
반지도학습은 이름에서 알 수 있듯이 지도 학습과 비지도 학습을 결합합니다. 이 기술은 소량의 정답이 정해진 데이터와 정답을 지정하지 않은 대량의 데이터를 사용하여 시스템을 훈련합니다.
강화 학습은 알고리즘이 거쳐야 하는 여러 단계에 보상을 해주는 방식입니다. 학습의 목표는 가능한 한 많은 보상 점수를 축적하여 최종 목표에 도달하는 것입니다.
각 유형의 기계 학습 방법에 대해서 간단한 모형화와 추가적인 탐구를 진행할 수 있습니다.
세 번째 심화 탐구 주제는 기계학습과 딥러닝입니다.
먼저 심층학습 또는 딥러닝(Deep Learning)의 의미에 대한 이해가 필요하겠죠.
심층학습 또는 딥러닝(Deep Learning)은 인간의 두뇌를 모델로 한 일종의 기계 학습 기술입니다. 딥 러닝 알고리즘은 인간이 사용하는 것과 유사한 논리 구조로 데이터를 분석합니다. ‘딥’ 러닝인 이유도 인공 신경망(Artificial Neural Network)의 층을 연속적으로 깊게 쌓아 올렸기 때문에 깊다는 의미에서 붙은 표현입니다. 따라서 데이터는 입력 계층에서 출력 계층으로 오기 전에 중간 단계의 여러 “심층” 은닉 신경망 계층을 통해 흐릅니다.
각각의 딥 러닝 계층은 인간 뇌의 뉴런처럼 작동하는 인공 신경망(ANN) 노드로 구성됩니다. 각 노드 또는 인공 뉴런은 다른 노드에 연결되며 연관된 값 번호와 임계값 번호가 있습니다. 노드는 활성화 시 값 번호를 다음 계층 노드에 대한 입력으로 전송합니다. 그런데 이는 지정된 임계값보다 출력이 높은 경우에만 활성화됩니다. 그렇지 않으면 아무 데이터도 전달되지 않습니다.
이 부분에 대한 이해 및 탐구가 아주 중요합니다.
논리회로를 구성하는 간단한 모형을 만들어 보는 탐구 과정을 계획할 수 있습니다. OR연산에 대한 신경망 노드입니다. 퍼셉트론(Perceptron)이라고 합니다. “또는”은 하나 이상이 참이면 참을 다음 단계로 전송해야 합니다. 신경망 노드는 계산된 값이 0보다 큰 값이면 1을 다음 단계로 전송, 그렇지 않으면 전송하지 않는다고 정합니다. 즉 입력값이 둘다 0일때만 값을 전송하지 않고 나머지 경우에는 0보다 큰 값이 나오도록 선형 관계식을 정하면 됩니다.
예를 들어 y=5x_1+5x_2-3이면 충분히 가능합니다.
AND연산은 어떻죠? 둘 다 1일때만 정보를 전송하게 만들면 됩니다. 간단히 y=5x_1+5x_2-7 같은 식을 이용하면 됩니다.
이와 같은 퍼셉트론의 발전 과정에서 힘든 장애물 역할을 했던 것이 XOR연산이라고 하는 것입니다. XOR(Exclusive OR) 논리회로는 이른바 배타적 논리합이라고 하는 것입니다. 데이터 암호화, 오류 검출 등에서 다양하게 활용되는 XOR는 꽤 오랜 기간 퍼셉트론으로 만들어 내지 못했었습니다.
y’_1=5x_1+5x_2-8
y’_2=-5x_1-5x_2+3
y=-3y’_1-3y’_2+2
입력의 개수가 늘어나서 넓어지고 입출력이 진행되는 노드수가 늘어나서 깊어졌습니다. 이것이 바로 딮 러닝의 시작입니다.
이를 기초로 다양한 모형화에 대한 탐구를 시도해 볼 수 있습니다.
이제까지 인공지능에 대한 여러 탐구주제들을 소개하였습니다. 자신의 진로나 관심사에 맞는 주제를 찾아 심화탐구를 해보시기 바랍니다.
저자의 말을 인용하면서 영상을 마치도록 하겠습니다.
“인공지능은 당신을 대체하지 않습니다. 인공지능을 이해하고 활용하는 사람이 당신을 대체할 뿐이죠.”