PDF
나만의 인공지능 · 챕터 1

두뇌란 무엇인가

인공지능을 함수로 이해하고, 첫 두뇌를 만듭니다

강의 영상에서 설명한 내용을 그대로 옮긴 교재입니다
정원석 지음 · Connect AI LAB

Connect AI LAB · AI CITY BUILDERS1 / 36
Connect AI LAB · AI CITY BUILDERS2 / 36
1

왜 로컬 AI인가

빌려 쓰는 사람과 소유한 사람

Connect AI LAB · AI CITY BUILDERS3 / 36

가장 소중한 사람에게

이 강의를 만들면서 계속 한 가지 생각을 했습니다. 내가 세상에서 가장 소중한 사람에게 인공지능을 알려 준다면, 무엇을 어떻게 알려 줘야 할까.

그 질문의 답이 이 책입니다. 유행하는 도구 사용법이 아니라, 시간이 지나도 남는 것부터 시작합니다.

인공지능이 우리 곁에 있는 기간은 1, 2년이 아닙니다. 앞으로 10년, 20년, 30년을 함께 살게 됩니다. 그 긴 시간을 어떤 위치에서 보낼 것인지가 지금 갈립니다.

Connect AI LAB · AI CITY BUILDERS4 / 36

빌리는 쪽과 가진 쪽

지금 대부분은 빌려 쓰고 있습니다. 매달 돈을 내고, 갑자기 느려져도 기다리고, 값이 오르면 받아들입니다. 성능이 왜 떨어졌는지 물어볼 곳도 없습니다.

로컬 AI는 그 반대입니다. 내 컴퓨터 안에 두고, 돈을 내지 않고, 내가 소유합니다.

그리고 제대로 배우면 쓰는 데서 끝나지 않습니다. 직접 만들 수도, 바꿀 수도, 가르칠 수도, 두 개를 합칠 수도 있습니다.

을이 아니라 갑의 자리에서 인공지능 시대를 사는 방법입니다.

Connect AI LAB · AI CITY BUILDERS5 / 36

우리가 만들 것 — 자비스

아이언맨의 토니 스타크가 말을 걸면 자비스가 답합니다. 저번에 무엇을 했는지 기억하고, 다음에 무엇을 하면 좋을지 먼저 말합니다.

그 자비스를 뜯어 보면 부품이 나뉩니다. 생각하는 두뇌가 있고, 그 두뇌 안에 지식이 있습니다. 사람의 말을 듣는 가 있고, 소리 내어 답하는 이 있습니다.

이 책에서는 두뇌를 만듭니다. 나머지는 다음 권에서 하나씩 붙입니다.

Connect AI LAB · AI CITY BUILDERS6 / 36
영상으로 보기

소개 — 우리가 만들 것: 나만의 자비스

약 3분 30초

youtu.be/iPt99NsQf7s휴대폰으로 찍으면 바로 열립니다
Connect AI LAB · AI CITY BUILDERS7 / 36
2

인공지능은 함수다

AI 모델이라는 말의 뜻

Connect AI LAB · AI CITY BUILDERS8 / 36

모델이라는 말

인공지능 두뇌를 가리킬 때 AI 모델이라는 말을 씁니다. 이 말은 수학적 모델링에서 왔습니다.

AI, 로컬 AI라는 단어는 다들 들어 보셨을 겁니다. 그런데 그것이 정확히 무엇인지 설명할 수 있는 분은 많지 않습니다.

제가 생각하는 인공지능은 이렇습니다. 함수입니다.

Connect AI LAB · AI CITY BUILDERS9 / 36

중학교에서 배운 그 함수

y = 3x + 2

x 에 1 을 넣으면 3 곱하기 1 에 2 를 더해서 5 가 나옵니다. 어릴 때 그래프를 그려 본 그 함수가 맞습니다.

인공지능이라 불리는 생성 모델의 기초가 바로 이 모양입니다.

Connect AI LAB · AI CITY BUILDERS10 / 36

사랑해를 넣으면

여기 x 자리에 숫자 대신 말을 넣어 봅시다.

사랑해 → [ 번역 ] → I love you

번역하는 인공지능이라면, 입력값은 「사랑해」이고 번역해 주는 함수를 지나면 「I love you」가 나옵니다.

인공지능은 이렇게 함수의 모양을 가졌습니다.

Connect AI LAB · AI CITY BUILDERS11 / 36

깊게 쌓으면 딥러닝

이 함수가 조금 더 복잡해지면서 딥러닝이라는 이름이 붙었습니다. 깊게 쌓인 함수를 깊게 학습한다는 뜻입니다.

딥러닝보다 한 단 큰 말이 머신러닝입니다. 기계가 학습한다는 뜻입니다.

함수를 쌓은 한 줄 한 줄을 레이어라고 부릅니다. 층입니다.

Connect AI LAB · AI CITY BUILDERS12 / 36

100명 중 한 명

세상에 100명이 있다고 해 봅시다. 그중 30명은 인공지능을 아예 써 본 적이 없습니다.

남은 70명 중 30명은 챗지피티나 제미나이로 글이나 이미지를 만들어 본 사람들입니다.

그 나머지가 로컬 AI를 써 본 사람들입니다. 누군가의 인공지능을 돈 내고 빌리는 게 아니라, 내 컴퓨터에 내 것을 두고 다뤄 본 사람들입니다. 여기서부터 소비자가 생산자로 바뀝니다.

그리고 100명 중 한 명은 그 로컬 AI를 아예 만들 수 있는 사람입니다.

이 책이 목표로 하는 자리가 그 한 명입니다.

Connect AI LAB · AI CITY BUILDERS13 / 36

케라스가 나오기까지

원래는 파이썬으로 한 땀 한 땀 전부 개발했습니다. 정말 힘들었습니다.

그래서 구글이 텐서플로우를 내놨습니다. 조금 편해졌습니다. 그런데 딥러닝 모델 자체가 점점 복잡해졌습니다. 커졌다 작아졌다 하고, CNN 이 붙고, 모양이 걷잡을 수 없어졌습니다.

그다음 지금의 메타인 페이스북이 파이토치를 만들었습니다. 훨씬 직관적이었지만 설치부터 어려웠습니다.

결국 학습용으로 가장 많이 쓰이게 된 것이 케라스입니다. 이 책에서도 케라스를 씁니다.

Connect AI LAB · AI CITY BUILDERS14 / 36
영상으로 보기

두뇌란 무엇인가 — 함수에서 딥러닝까지, 그리고 케라스

약 7분

youtu.be/Q2-6eXf9tD0휴대폰으로 찍으면 바로 열립니다
Connect AI LAB · AI CITY BUILDERS15 / 36
3

기계가 스스로 만든다

함수를 사람이 정하지 않는다

Connect AI LAB · AI CITY BUILDERS16 / 36

1을 넣으면 5가 나오는 함수

어떤 수학 공식에 1 을 넣으면 5 가 나올까요.

x + 4

답은 간단합니다. 그리고 중요한 것은, 우리가 이 함수를 미리 알고 있다는 점입니다. 사람이 정해 준 함수입니다.

Connect AI LAB · AI CITY BUILDERS17 / 36

그럼 고양이는

그런데 이런 질문이 생깁니다. 고양이 사진을 넣으면 「고양이입니다」라고 답하는 함수는 수학적으로 어떻게 만들까요.

이것이 굉장히 중요한 지점입니다. 딥러닝이 발전하게 된 계기가 바로 여기이기 때문입니다.

세상은 숫자로만 이루어져 있지 않습니다. 말이 있고 생각이 있고 그림이 있습니다. 어떤 사람을 만나 빠지는 마음을 사랑이라고 부르는데, 그것을 수학적으로 어떻게 정의해야 할까요.

Connect AI LAB · AI CITY BUILDERS18 / 36

신이 아니라면

아무리 찾아봐도 답이 없었습니다. 그러다 한 논문에서 이런 문장을 봤습니다.

이 세상이 돌아가는 함수를 내가 알고 있다면, 나는 아마 신일 것이다.

우리는 세상의 법칙을 모릅니다. 그래서 숫자가 아닌 것들에 대해서는 함수를 알 수가 없습니다.

그 논문의 결론이 이것이었습니다. 그러면 함수를 기계가 스스로 만들게 해 보자. 그것이 머신러닝입니다.

Connect AI LAB · AI CITY BUILDERS19 / 36

입력값과 정답만 준다

방식은 이렇습니다. 타이타닉에 탄 사람들의 정보를 줍니다. 이 사람은 남성이고, 몇 살이고, 어느 항구에서 탔고. 그리고 살았는지 죽었는지를 함께 줍니다.

커피 사진 만 장을 주고 「이건 커피야」, 리모컨 사진 만 장을 주고 「이건 리모컨이야」 하고 알려 줍니다.

그러고 나서 말합니다. 이제 네가 알아서 학습해서 함수를 만들어라.

사람이 함수를 만들어 주던 시대에서, 기계가 스스로 함수를 만드는 시대로 넘어온 것입니다.

Connect AI LAB · AI CITY BUILDERS20 / 36

그런데 속은 모른다

여기서 이상한 일이 벌어집니다. 그 함수가 어떻게 생겼는지, 어떤 원리로 도는지, 왜 그런 함수를 만들었는지 아직 알기 어렵습니다.

그래서 그 부분을 블랙박스, 보이지 않는 상자라고 부릅니다.

왜 그런 결정을 내렸는지 알아내려고 설명 가능한 인공지능이라는 분야가 따로 있습니다. 아직 완전히 풀지 못했습니다.

우리가 쓰는 제미나이도, 챗지피티도, 한국 회사들이 만드는 모델도 전부 이렇게 시작합니다. 아무것도 학습하지 않은 두뇌를 만들고, 지식을 주고, 잘 되는지 확인합니다.

Connect AI LAB · AI CITY BUILDERS21 / 36

사진은 숫자다

사진 한 장을 컴퓨터에 넣으면 0 부터 255 까지의 숫자로 바뀝니다.

세상의 색은 빨강 초록 파랑 세 가지 조합으로 표현됩니다. 완전한 빨강은 255, 0, 0 입니다. 흰색은 255, 255, 255 이고 검은색은 0, 0, 0 입니다. 중간 회색은 128, 128, 128 입니다.

인공지능은 사진을 보는 것이 아닙니다. 이 숫자 덩어리를 봅니다.

Connect AI LAB · AI CITY BUILDERS22 / 36

레이어가 하는 일

그 숫자를 그대로 두지 않습니다. 길게 늘여 보기도 하고, 중간을 빼 보기도 하고, 네모나게 만들기도 합니다. 줄였다 키웠다 하면서 여러 모양으로 바꿔 봅니다.

그렇게 했더니 패턴을 훨씬 잘 찾더라는 것이 밝혀졌습니다.

숫자의 모양을 바꾸는 그 한 줄 한 줄이 레이어입니다.

Connect AI LAB · AI CITY BUILDERS23 / 36

아이에게 종이를 준다

아이에게 고양이를 그려 보라고 할 때, 완전한 자유를 주지 않습니다. 종이를 한 장 건넵니다.

반듯한 사각형 종이를 주면 잘 그립니다. 구겨진 휴지를 주면 그리기 어렵습니다.

인공지능도 같습니다. 입력이 어떤 모양인지 틀을 먼저 정해서 줍니다. 그 틀을 잘 주는 것이 사람이 할 일입니다.

Connect AI LAB · AI CITY BUILDERS24 / 36

왜 잘 되는지 모르고

솔직히 말씀드리면, 초기에는 그냥 넣어 본 것이 많습니다.

제가 모델을 만들 때도 그랬습니다. 숫자를 그냥 나눠 봤는데 고양이 패턴을 더 잘 찾는 겁니다. 동료 연구원들에게 물었습니다. 이거 왜 잘 되냐. 아무도 몰랐습니다.

그래서 나눠서 해 봤습니다. 너는 3 을 더해 봐. 너는 10 을 더해 봐. 너는 2 로 나눠 봐. 무엇이 잘 되는지 보자고요. 결과가 나오면 논문으로 썼습니다.

그런 시도의 합이 지금의 챗지피티가 되었습니다. 논문은 멋있게 쓰여 있지만, 속을 들여다보면 이런 경우가 많습니다.

Connect AI LAB · AI CITY BUILDERS25 / 36

결국 배우는 것은 둘

그래도 딥러닝이 기본적으로 학습하는 것은 명확합니다.

y = wx + b

w 가 1 이고 b 가 1 이면, x 가 1 일 때 y 는 2 입니다. x 가 2 면 3 입니다. 이런 점들이 이어져 직선이 됩니다.

인공지능이 학습한다는 것은 이 w 와 b 를 여러 개 만들어 놓고, 가장 잘 예측하는 선을 찾는 일입니다.

Connect AI LAB · AI CITY BUILDERS26 / 36

로스 — 선과 점 사이

어떤 회사의 나이별 연봉을 예측한다고 해 봅시다. 20대는 2천만 원, 30대는 3천만 원, 40대는 5천만 원, 50대는 6천만 원, 70대는 다시 5천만 원입니다.

같은 나이라도 조금씩 다르니 점이 흩어져 찍힙니다. 30대인데 임원이라 혼자 3억을 버는 사람도 있습니다. 이런 점을 아웃라이어라고 합니다.

인공지능은 선을 하나 그어 봅니다. 점들과의 거리가 꽤 멉니다. 다시 그어 봅니다. 조금 줄었습니다. 또 그어 봅니다.

거리가 로스입니다. 손실이라는 뜻입니다. 학습이란 이 로스를 줄이는 일입니다.

Connect AI LAB · AI CITY BUILDERS27 / 36

에포크 500번

이 일을 열 번만 하지 않습니다. 100번도 하고, 만 번도 하고, 10만 번도 합니다.

한 번 학습하는 것을 에포크라고 부릅니다. 500번 학습하라고 하면 에포크가 500입니다.

케라스에서는 이렇게 적어 주면 끝입니다. 두뇌의 모양을 만들고, 입력값과 정답을 넣고, 몇 번 학습할지 말해 줍니다.

model.fit(입력, 정답, epochs=500)

학습이 끝나면 얘가 찾아낸 w 와 b 를 꺼내 볼 수 있습니다. 중간중간에도 볼 수 있습니다.

model.get_weights()
Connect AI LAB · AI CITY BUILDERS28 / 36
영상으로 보기

코드를 보기 전에 — 기계가 함수를 스스로 만든다는 것

약 18분

youtu.be/YFSFeen5kKc휴대폰으로 찍으면 바로 열립니다
Connect AI LAB · AI CITY BUILDERS29 / 36
4

첫 두뇌 만들기

타이타닉 생존 예측

Connect AI LAB · AI CITY BUILDERS30 / 36

대회를 엽니다

즐겁게 공부하기 위해 대회를 하나 엽니다. 과제는 하나입니다.

타이타닉에서 생존을 예측하는 인공지능 모델을 만들어라.

구글 코랩에서 바로 만듭니다. 내 컴퓨터에 아무것도 설치하지 않아도 됩니다.

Connect AI LAB · AI CITY BUILDERS31 / 36

명단을 열어 보면

실제로 타이타닉에 탑승했던 사람들의 기록입니다. 이름, 성별, 나이, 티켓값, 앉은 자리, 태어난 곳이 적혀 있습니다.

그리고 마지막 칸에 생존하면 1, 생존하지 못했으면 0 이 적혀 있습니다.

앞쪽이 입력값이고 마지막 칸이 정답값입니다. 이 둘을 함께 주면 인공지능이 함수를 만듭니다. 그 함수가 곧 생존 예측 모델입니다.

Connect AI LAB · AI CITY BUILDERS32 / 36

빈칸을 채운다

나이 칸이 중간중간 비어 있습니다. 비어 있으면 계산에서 오류가 납니다. 그래서 채웁니다.

28 로 채워도 되고 30 으로 채워도 됩니다. 여러분 마음입니다. 보통은 평균이나 중앙값으로 채웁니다.

이것을 데이터 전처리라고 합니다. 데이터를 예쁘게 만들어 주는 일입니다.

그다음 어떤 칸을 두뇌에 넣을지 고릅니다. 성별과 나이와 등급만 넣을 수도 있고, 요금과 탑승항을 더 넣을 수도 있습니다. 여기서 점수가 갈립니다.

Connect AI LAB · AI CITY BUILDERS33 / 36

기준선을 먼저 안다

만들기 전에 아무것도 안 했을 때 몇 점인지 알아야 합니다. 그래야 내 두뇌가 쓸모 있는지 판단할 수 있습니다.

방법정답률
전부 사망이라고 찍기62.2%
여성이면 생존이라는 규칙 하나78.2%
1강에서 만든 두뇌약 72%

규칙 한 줄이 78.2% 입니다. 처음 만든 두뇌가 그보다 낮습니다. 이상한 일이 아닙니다. 여기서부터 올리는 것이 2강에서 할 일입니다.

※ 62.2% 와 78.2% 는 강의에 나오지 않는 수치입니다. 기준선을 보여 드리려고 같은 명단으로 따로 계산했습니다.

Connect AI LAB · AI CITY BUILDERS34 / 36
영상으로 보기

실습 — 타이타닉 생존 예측 두뇌 만들기

약 27분 · 코랩

youtu.be/PBD2AVX-HG0휴대폰으로 찍으면 바로 열립니다
Connect AI LAB · AI CITY BUILDERS35 / 36
다음

챕터 2 · 성능을 올리는 법

구조를 바꾸고 데이터를 손봐 점수를 올립니다

챕터 2 읽기

강의 목록으로 돌아가려면 여기를 누르세요.

Connect AI LAB · AI CITY BUILDERS36 / 36