대학 때 인공지능의 이해 같은 수업도 들었지만
요즘 세상 바뀌는 속도를 전혀 따라가지 못하는...
거의 좀비에 가까운 전공자인데
최근 어디 시험 보러 갈 일이 있었는데
내가 인공지능 관련 문제를 하나도 모르더라?
용어 자체도 낯설기까지 했음
상당히 충격을 먹고 반성하는 의미로
급하게 인공지능 지식을 하나둘 쌓아보고자 책을 읽었습니다.
무려 책 제목은 <비전공자도 이해할 수 있는 AI 지식>이다.
인공지능이 발전하는 과정과 기술이 어떻게 작동하는지를
이해하기 편하게 쉽고 간단하게 설명해 주는 책이었다.
(알고 보니 지은이가 현차 인공지능 기술 리더셨음)
아무튼, 한두 번은 더 읽고 필요한 부분은 따로 더 공부를 해야겠지만
이 책에서 다루는 수많은 내용들 중 서너 가지만 뽑아서 정리해보려 한다.
우선 목차는 다음과 같다
<목차>
제1장. 인공지능 | 위대한 인공지능, 깨어나다
제2장. 알파고 | 인간을 능가하는 기계의 등장
제3장. 자율주행 | 테슬라가 꿈꾸는 기계
제4장. 검색엔진 | 구글이 세상을 검색하는 법
제5장. 스마트 스피커 | 시리는 쓸모 있는 비서가 될 수 있을까
제6장. 기계번역 | 외국어를 몰라도 파파고만 있다면
제7장. 챗봇 | 챗GPT, 1분 안에 보고서 작성해 줘
제8장. 내비게이션 | 티맵은 어떻게 가장 빠른 길을 알까
제9장. 추천 알고리즘 | 알 수 없는 유튜브 알고리즘이 여기로 이끌다
그중에서도 내가 리뷰하고 싶은 부분은
1장 인공지능, 2장 알파고, 3장 자율주행, 그리고 6장 기계번역이다.
아래에 이어지는 내용은 책을 보면서 정리한 것임을 미리 밝혀둡니다
(아주 간혹 내 생각이나 추가 공부한 내용 포함될지도)
1장 인공지능
- 모라벡의 역설(Moravec’s Paradox)이라는 말이 있다. "어려운 것은 쉽고, 쉬운 것은 어렵다"
우리에게는 간단한 것일지라도 인공지능에게는 어려울 수도 있다는 의미기도 하다고 한다. - 1956년 다트머스대학교에서 지능을 가진 기계를 주제로 한 학술대회가 열렸다. 이곳에서 처음으로 인공지능이라는 용어 고안하고 사용했다.
- 뒤이어 1958년 인간의 두뇌 구조를 본뜬 인공 신경망 모델도 등장한다. 인공 신경망의 초기 모델을 퍼셉트론Perceptron이라고 하는데, 인간 두뇌가 뉴런이 서로 연결된 상태로 전기신호를 내보내며 정보를 전달한다는데서 착안했다. 비슷한 형태로 인공 뉴런이 연결된 구조의 인공 신경망 구현하게 된 것이다. 기대감이 상당했으나 쓰임새를 찾지 못해 잊힌 기술이 되어버린다.
- 대신 인공지능 초창기에는 if-then 규칙을 기반으로 하는 인공지능이 우세했다. 겉보기에 결과물이 인공 신경망에 비해 훨씬 괜찮았기 때문이다. 하지만 규칙을 기반으로 해 한계가 분명했기 때문에 이것마저 시들해졌다.
(이때부터 한동안을 우리 교수님도 말씀하셨던 인공지능의 암흑기라고 하는 듯) - 1980년대 머신러닝(기계학습) 알고리즘 등장한다. 컴퓨터가 스스로 규칙을 찾아낼 수 있게 된 것이다.
하지만 일부 연구자들만 취급하는 주제였는데, 2010년대 들어 이미지 인식 분야에 도입되면서 다시 빛을 발하게 된다. - 2012년 이미지넷 대회에서 토론토대학교의 제프리 힌튼 교수팀이 사용한, 컨볼루션 기법을 사용한 딥러닝으로 인공지능의 시대가 부활한다. 딥러닝은 머신러닝의 일종으로, 데이터와 정답을 입력하면 스스로 규칙을 찾아낸다는 점에서 비슷하게 작동한다.
그러나 딥러닝은 훨씬 더 많은 데이터를 학습하고, 훨씬 더 많은 규칙을 찾아낼 수 있다. 특히나 딥러닝이 돋보이는 분야가 바로 기계번역이다. - 인공지능의 폭발적인 성장을 견인한 데는 GPU의 사용이 한몫함 GPU는 상대적으로 성능이 떨어지는 코어를 엄청나게 많이 꽂아둔 형태다. 그래서 각각의 성능은 좀 떨어지더라도 전체 작업을 빠르게 처리할 수 있다 = 병렬연산에 강하다. 하나하나는 빠르지 않더라도 많은 작업을 동시에 진행해 결과적으로는 더 빨리 처리할 수 있는 것.
- 특히나 엔비디아는 CUDA(Compute Unified Device Architectures) 플랫폼을 통해 GPU를 활용할 수 있는 방법을 계속해서 모색하고, GPU 사용을 적극 지원하고 있었기에, 엔비디아의 지금과 같은 독점 체제가 형성될 수 있었다.
오늘 뉴스레터 보니까 엔비디아가 "AI 시장에서 독보적인 존재감"을 드러내고 있다고 하는데, 그 시작점이 쿠다인 거네.
특히나 현재 엔비디아의 GPU는 시장점유율 90% 정도로, 대규모 언어 모델(LLM)과 생성형 AI 기술 개발에 있어 대체 불가능한 핵심 요소라고 한다.
2장 알파고
- 모든 경로를 탐색하는 것을 완전 탐색이라고 한다. 하지만 효율적인 탐색을 위해, 성과가 없으면 더 이상 탐색하지 않고 넘어갈 수 있다. 이를 컴퓨터 과학에서는 가지치기(Pruning) 한다고 표현하는데, 나뭇가지 자르듯 쳐내버리고 다시는 탐색하지 않는 것이다.
- 도박처럼 확률적인 방법으로 결과를 유추해 내는 방식을 몬테카를로 방법이라고 한다. 계속 도전하면 결국은 원래 확률만큼의 결과를 얻을 수 있는데 이런 식으로 값을 계산하는 알고리즘이다. 여러 번의 무작위 실험으로 결과를 관찰하는 편이 더 실용적이다란 생각에서 출발했다고.
2006년부터는 게임 트리 탐색에 몬테카를로 방법을 접목한 몬테카를로 트리 탐색 알고리즘을 고안했다. 이를 바둑 인공지능에 적용, 실력 급상승하는 결과를 가져왔다. - 알파고에 적용된 두 종류의 인공 신경망 = 정책망과 가치망.
정책망은 다시 3가지로 나뉘어, 알파고에는 총 4가지 신경망이 사용되었다.
(정책망) 사람이 만든 기보 중 6단 이상을 모아 학습한 기보학습 정책망 + 전자보다 훨씬 작고 가벼운 롤아웃 정책망 + 알파고가 스스로 대국하며 강화학습을 수행한 강화학습 정책망
(가치망) 현재 국면에서 승패 여부를 예측하는 망. 정책망끼리의 대국에서 장면을 추출해 내, 현재 대국에서 승패 확률을 계산해 내는 망
3장 자율주행
- 베이즈 정리 >> 확률은 믿음에 불과(?)할 뿐이며 세상에 절대 원칙이란 존재하지 않으므로, 무엇이든 조심스럽게 관찰하며 의심해야 한다. 믿음을 업데이트해나가는 원리다.
자율주행차 역시 새로운 신호가 들어올 때마다 기존의 믿음을 새로운 믿음으로 끊임없이 업데이트한다. 레이더/라이더/카메라와 같은 장치와 여러 센서들을 통해 주행 환경과 외부 정보를 계속해서 업데이트해나가면서 안전하게 주행가능한 길을 찾아내는 원리라는 의미. - 컨볼루션 신경망은 동물이 이미지를 판별할 때 사물 전체를 한 번에 보는 대신 부분으로 조각내어 살펴보는 것과 비슷함. 복잡한 이미지를 단순한 선과 모서리로 해체하고, 조각난 부분을 살피면서 필터링해 결과를 내보냄. 결국 여러 번 필터링한 결과를 인공 신경망의 뉴런을 거쳐 최종 결과로 추출한다.
- 자율주행은 기술 수준에 따라 5단계로 나뉜다. 미국 자동차 공학회(SAE)가 정의함
0단계 자율주행 기능 없음
1단계 운전자 지원 >> 발 떼기 : 크루즈 컨트롤, 충돌 경고, 비상 제동 가능
2단계 부분 자율주행 >> 손 떼기 : 조향&속도 자동화 제어 가능
3단계 조건부 자율주행 >> 눈 감기 : 부분 자율주행 가능. 시스템 요청 시에 일정시간 이내 운전자가 즉각 개입할 수 있어야 함
4단계 고도 자율주행 >> 뇌 끄기 : 고급 자율주행 가능. 지정된 영역을 벗어나거나 특수한 상황에서는 운전자의 개입 필요
5단계 완전 자율주행 >> 인간 개입 전혀 필요 없음.
- 완전자율주행이래도 인간이 필요한 순간이 올 텐데 그때 능숙하지 않은 운전자가 있다면? 의 문제와
유명한 윤리학 실험인 광차문제가 아직 남아 있음. 광차문제는 철도 선로에 각각 1명과 5명이 있을 때 어느 쪽을 희생시키는 것이 옳냐는 의문
6장 기계번역
- 규칙 기반 > 예시 기반 > 통계 기반 > 신경망 기반 순으로 발전함
- 신경망 기반은 문장을 통째로 압축해 숫자로 표현한 벡터를 만든다. 그리고 이 값으로 다시 번역문을 찾아낸다.
문장을 압축하는 과정에서는 문장을 띄어쓰기 단위로 구분한다. 그리고 차례대로 인공 신경망을 통과하여 핵심적인 특징을 추출한다. 여러 번 계산을 통해 최종적으로 문장 전체의 의미를 압축한 벡터가 나오게 되는데, 이 과정을 수행하는 부분을 인코더라고 한다. - 반대로 문장을 푸는 부분은 디코더라고 한다. 압축된 벡터를 받아서 순서대로 풀어내는 역할이다.
한 단어씩 차례대로 푸는데, 이때 앞선 단어의 번역 + 인코더가 압축한 벡터를 받는다.
문장 번역이 끝날 때까지, 디코더는 계속해서 인코더가 압축한 벡터를 참조하면서 보다 자연스러운 문장을 만들어낸다. - 하지만 이 방식은 원문의 길이에 상관없이 일정한 길이의 벡터로 1번만 압축한다는 단점 + 번역문이 길어질수록 핵심 단어를 놓친다는 단점이 존재한다.
- 이 방식을 해결하고자, 보다 중요한 단어를 강조하는 원리인 어텐션Attention이 등장한다.
어텐션은 번역문의 단어를 생성할 때마다 출력 문장 길이에 맞춰 압축 벡터를 생성한다. 그래서 장문 번역에 용이해짐.
그리고 중요한 단어에는 별도의 가중치를 부여한다. 이로 인해 번역문이 길더라도 번역의 정확성은 지키게 된다. 핵심 단어가 강조되니까. - 아예 어텐션으로만 인공 신경망을 구성한 논문이 있음. 논문 이름도 <Attention is all you need>인데, 여기서 딥러닝 모델 트랜스포머가 등장한다.
(트랜스포머의 구조) 인코더는 입력 문장을 압축하여 핵심적인 특징을 추출하는 역할을 맡고, 디코더는 인코더가 압축한 벡터를 받아와 출력 문장을 생성함. 인코더는 한 종류의 어텐션, 디코더는 두 종류의 어텐션으로 구성됨. - 기계번역에서 인코더가 문장의 의미를 압축해 낼 수 있다는데서 착안해 자연어 이해 모델인 버트BERT가, 디코더가 문장을 생성하는데서 착안해 자연어 생성 모델인 GPT-3가 등장했다.
내가 더 자세히 공부해야 할 부분은 기계번역과 챗봇이다.
누구든 인공지능 교양서나 입문서가 필요하다면 추천한다.
'공부 > IT' 카테고리의 다른 글
한빛미디어와 함께 하는 혼공학습단 소개 및 13기 참여 예고 (3) | 2024.12.20 |
---|---|
[ADSP] 데이터분석 준전문가 2과목 데이터 분석 기획 개념 정리/요약본 (3) | 2024.12.13 |
[SQLD] SQL 개발자 자격 시험 독학 합격 후기(공부 방법, 교재 추천 등) (0) | 2024.03.29 |
[ADSP] 데이터분석 준전문가 독학 합격 후기! (공부 방법, 교재 추천) (1) | 2023.09.16 |
[ADSP] 데이터분석 준전문가 1과목 데이터의 이해 개념 정리/요약본 (2) | 2023.08.29 |