요즘IT
위시켓
새로 나온
인기요즘 작가들컬렉션
물어봐
새로 나온
인기
요즘 작가들
컬렉션
물어봐
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업
서비스 전체보기
위시켓요즘IT
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
[email protected]
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기
AI

고양이도 알아듣는 생존형 AI 기초: 머신러닝 이론 편

요즘AI
14분
1일 전
4.4K

요즘 IT 시장을 보면 온통 AI 이야기로 가득 차 있습니다. 특히 ‘챗GPT’가 등장한 이후로 정말 많은 것이 바뀌었죠. 이런 흐름에 ‘AI가 내 일을 대체할 거라는데, 정작 나는 아무것도 모르겠어.’라는 두려움이 퍼지고 있습니다. ‘AI 포모(AI FOMO)’라는 이름으로요.

 

두려움에 빠진 분들을 위해 AI를 이해할 때 필요한 최소한의 이야기를 준비했습니다. 어려운 이론은 뛰어넘고 실제 산업을 이해할 때 도움을 줄 것들만 다루겠습니다. 목표로 하는 것은 새로운 뉴스가 나왔을 때 적어도 “그 소식이 왜 중요한지” 정도는 이해할 수 있는 겁니다. 모두가 ‘이건 정말 중요하다!’라고 말할 때, 최소한 그 이유 정도는 알 수 있도록 말이죠. 집사 옆에 식빵 굽던 고양이도 알아들을 수 있는, 생존을 위한 AI입니다.


사람은 어떻게 지식을 가지게 되었을까요? 보고 들어서 그렇습니다. 또, 무언가에 몸소 부딪치며 경험하기도 하고, 책을 읽기도 합니다. 이를 한 단어로 정리하자면, ‘학습’하기 때문입니다.

 

학습이란 그 자체로 지능이 가진 굉장히 독특하고 고유한 영역 중 하나로 보기도 합니다. 그러니까요, 만약 학습이 지능에서 그렇게 중요한 부분이라면 ‘사람이 만들어낸 지능’에도 학습이 필요한 것은 아닐까 싶은 겁니다. 그렇게 기계에게도 학습을 시켜보기로 합니다. 기계를 학교에 보내는 거죠.

 

이렇게 기계에게 학습을 시키는 일, 이를테면 정보를 처리해 지식으로 바꾸는 과정. 이를 우리는 머신러닝(ML, Machine Learning)이라고 부릅니다.

 

  • 고양이(요고): 머신러닝 짱 어려운 거 아니예요?
  • 나: 제목은 이제 “최대한 쉽게 알아보는 머신러닝”으로 갈게요. 그런데 이제 ‘딥러닝’을 곁들인.

 

<출처: 마스터셰프 코리아, 챗GPT로 재가공>

 

 

#머신러닝

여기 사진 2장이 있습니다. 기계에게 “이 사진은 개고, 이 사진은 고양이야”라고 알려줍니다. 인공지능은 그 데이터를 바탕으로 ‘학습’합니다. 이제 AI는 실제로 본 적 없는 새로운 사진을 보자마자 “아, 이건 개구나!” 하고 바로 알 수 있습니다. 학습의 효과입니다.

 

<출처: 프리픽>

 

조금 더 멋있게 표현하자면, “새로운 상황이 찾아왔을 때 이미 알고 있는 정보를 이용해서 그 상황에 맞는 정답을 유추할 수 있는 능력”을 가졌다고 할 수 있겠죠. 바로 이러한 능력을 갖추는 게 지능을 확보하는 것이고, 그 능력을 만들어 주는 과정이 학습이라는 겁니다.

 

그렇다면 여기서 또 의문이 생깁니다. 대체 어떻게 기계가 학습할 수 있는 걸까요? 수많은 데이터의 패턴은 또 어떻게 포착해서 이해하는 걸까요?

 

어떻게 앎?

아주 간단히 말하면, 데이터가 다 ‘숫자’인 덕분입니다.

 

우리가 컴퓨터 너머에서 실제로 접하는 텍스트, 이미지, 영상, 음악 같은 데이터가 있죠. 굉장히 생생하게 현실을 보여 주는 것 같지만, 사실은 이들 모두 숫자로 이루어져 있습니다.

 

컴퓨터는 숫자로만 세상을 이해합니다. “컴퓨터는 0과 1로만 이루어진 이진법을 사용한다” 알고 있죠? 물론 머신러닝에서는 이 0과 1로 된 데이터를 조금 더 변환해서 벡터(Vector) 단위로 이해하긴 합니다만, 중요한 건 이 모든 정보가 결국 숫자로 표현된다는 사실이에요.

 

자, 그럼 이렇게 무수히 많은 숫자들 속에서 어떻게 데이터의 경향을 찾아낼까요? 머신러닝은 이 데이터들을 설명해 줄 수 있는 ‘또 다른 숫자의 묶음’을 찾아내는 과정이라고 할 수 있어요. ‘수식’을 만든다고 볼 수도 있겠네요.

 

~실전 예시: 직선 그래프를 그려봅시다~

조금 더 구체적으로 설명해 볼게요. 보통 IT 시스템의 데이터는 RDB(관계형 데이터베이스, Relational Database) 형태로 저장하거든요. RDB는 흔히 표, 즉 테이블 형태의 데이터로 구성되어 있고요.

 

  • 고양이(요고): RD… 뭐라고요?
  • 나:고양이도 알아듣는 생존형 AI 기초: 용어 편을 참고하도록. 더 이상의 자세한 설명은 생략한다.

 

표를 떠올려 보세요. 표의 기본 요소는 행과 열입니다. 행과 열로 이루어진 이 표로 우리는 다시 가로축(x축)과 세로축(y축)을 가진 좌표평면을 만들 수 있고요.

 

이 좌표평면 위에 데이터를 표현하려면 점을 하나하나 찍을 수 있겠죠. 그렇게 찍힌 수많은 데이터 점들 사이에서 일정한 흐름이나 경향을 가장 잘 표현할 수 있는 가장 쉬운 방법이 뭘까요? 바로 ‘직선을 긋는 것’입니다. 이 직선을 표현하기 위해 쓰는 수식도 있습니다. 익숙한 식, y = ax + b입니다.

 

<출처: 작가, 챗GPT로 제작>

 

이 수식에서 a와 b의 값을 구하기로 합니다. 그러려면 우리가 가지고 있는 데이터의 점들, 그러니까 x와 y의 값을 이용하면 됩니다. 데이터의 점이 많으면 많을수록, 질이 좋으면 좋을수록, 그 점들 사이를 가장 잘 관통하는 직선을 찾을 수 있고요. (그래서 데이터에 그렇게 목을 매는 겁니다) 이렇게 데이터를 가장 잘 설명하는 직선을 찾는 과정을 거치면 a와 b 값을 얻을 수 있습니다. 이제 x를 넣으면 y값이 뚝딱 나올 테고요.

 

y = ax + b라는 직선을 그려 데이터를 설명하는 방법. 이는 우리가 머신러닝을 배울 때 보통 가장 먼저 접하는 알고리즘인 ‘선형 회귀(Linear Regression)’의 기본적인 원리입니다. 물론 실제로는 이보다 훨씬 더 복잡하게 들어가긴 하지만요. 하지만 가장 간단한 개념을 보여주는 예시로는 이 방식이 딱 적절합니다.

 

여기서 중요한 것은, x와 y라는 두 가지 값이예요. 보통 x는 #입력값이라고 표현하고, 조금 더 엄밀한 용어로는 #독립변수라고 부릅니다. 그리고 y는 우리가 찾으려고 하는 정답, 즉 #출력값이고요. #종속변수라고도 하죠.

 

머신러닝, 깨달아버렸다(아님)

결국, 데이터의 경향과 패턴을 나타내는 숫자를 파악하는 것이 학습이라면, x라는 입력값을 넣어 y라는 정답을 찾아내는 과정은 그 학습의 결과라고 할 수 있습니다. 물론 이렇게 나온 정답을 완벽하게 신뢰할 수 있는 건 아니지만, 적어도 우리가 갖고 있는 데이터가 촘촘하다면 꽤 정확한 예측값을 얻을 수 있습니다.

 

이 과정을 사람이 아니라 기계가 스스로 한다면, 이를 바로 ‘머신러닝을 했다’라고 표현할 수 있습니다.

 

  • 고양이(요고): 기계가 새로운 입력값 x를 받아 알고 싶은 정답 y를 예측한다?
  • 나: 좋은 포인트! 학습으로 “새로운 상황이 찾아왔을 때 이미 알고 있는 정보를 이용해서 그 상황에 맞는 정답을 유추할 수 있는 능력”이 생긴 거죠.

 

머신러닝도 종류가 있습니다

머신러닝도 조금 더 구체적으로 들어가 보면 학습 방식에 따라 몇 가지로 나뉩니다. 크게 세 가지로 구분하는데요, #지도학습, #비지도학습,그리고 #강화학습입니다.

 

먼저 지도학습(Supervised Learning)이라는 방식이 있어요. 이건 말 그대로 개인 ‘지도’를 해주겠다는 거예요. 사람이 미리 정답을 알려주는 방식이죠. 기계에게 “이 데이터의 정답(y값)은 이거야”라고 정확히 알려주고, 기계가 그걸 힌트 삼아서 스스로 데이터의 경향을 찾아내는 방식입니다.

 

반대로 정답을 안 알려주는 방식도 있습니다. “데이터는 여기 있으니까 네가 한 번 알아서 해봐!”라고 기계에 맡겨두는 방식이에요. 이걸 비지도학습(Unsupervised Learning)이라고 합니다. 대표적으로 데이터의 유형을 파악하거나 그룹을 묶을 때 주로 쓰이죠.

 

마지막으로 강화학습(Reinforcement Learning)도 있습니다. 이 방식은 기계가 스스로 가장 나은 선택지를 찾도록 유도하는 방식인데요. 중간중간에 ‘보상’을 획득하면서 점점 올바른 방향으로 나아가게 됩니다. 게임이나 로봇 제어 같은 분야에서 많이 쓰이곤 하죠.

 

  • 고양이(요고): 이게 뭔데요? 왜 알아야 해요?
  • 나: 오케이. 재미 없죠? 그런데 학습은 워낙 돈과 시간이 많이 드는 일이라, 어떤 방식을 선택하는 지에 따라 달라지는 게 많아요. 답을 함께 알려주는 ‘지도학습’, 알아서 찾아보라는 ‘비지도학습’, 보상으로 강해지라는 ‘강화학습’ 이렇게 기억합시다.

 

<출처: 작가, Napkin AI로 제작>

 

인형 눈알 언제 다 붙이지?

이중에서도 가장 많이 쓰이는 건 역시 지도학습입니다. 아무래도 정답이 없는 상태에서 답을 찾는다는 게 굉장히 어렵잖아요. 그래서 처음 시작할 때는 대부분 정답을 미리 알려주는 지도학습으로 시작합니다.

 

하지만 여기서 문제가 생깁니다. 바로 이 정답(y값)을 만드는 일을 사람이 손으로 해야 한다는 거죠. 참고로 이 일은 데이터에 정답 딱지, 그러니까 라벨을 붙여준다 해서 #데이터 라벨링(Data Labeling)이라고 부릅니다.

 

요즘엔 데이터 처리 기술이 정말 좋아졌습니다. 그래서 데이터가 엄청나게 많이 쏟아져 나오는데, 그 데이터마다 정답을 붙이려니 시간도 오래 걸리고, 효율성도 떨어지고, 정확도에 한계가 생깁니다. 돈도 많이 들고요. 데이터는 끝없이 나오고 있는데 사람이 따라가기엔 힘든 상황이 된 거죠.

 

여기에 구세주가 등장합니다. 바로 ‘딥러닝(Deep Learning)’입니다.

 

  • 고양이(요고): 머신러닝이랑 딥러닝이랑은 무슨 사이에요? 둘 다 러닝이긴 한데.
  • 나: 기계가 학습하는 모든 영역을 머신러닝. 딥러닝은 그 안에 있는 학습법의 하나라고 볼 수 있죠. 인공지능 안에 머신러닝 안에 딥러닝.

 

 

#딥러닝

흔히 딥러닝을 이야기할 때 “사람의 뇌 구조를 본떠 만들었다”는 말이 나옵니다. 그런데 솔직히 말하면 뇌를 그대로 따라 만든 건 아닙니다. 사실 그럴 수도 없어요. 왜냐하면 아직 우리는 뇌를 완벽히 이해하지 못하고 있거든요.

 

그럼에도 그런 얘기들이 나오는 이유는 또 있습니다. 딥러닝의 기본적인 아이디어와 구조가 사람의 뇌와 꽤 비슷했기 때문입니다.

 

가장 기본적인 딥러닝의 출발을 말할 때는 #퍼셉트론(Perceptron)이라는 게 나옵니다. 이 퍼셉트론의 초기 모델은 단순한 계산 장치에 가깝습니다. 데이터를 여러 개 받아 계산한 다음, 결과를 0 또는 1로 판단하는 거죠. 흔히 경계를 정해놓고 분류하는 방식을 사용하는데요. 왜 어릴 때 짝꿍이 책상 위에 선을 그어 놓고는 “야, 이 선 넘어오면 내 거야!” 하는 것과 비슷합니다. 데이터가 정해진 기준선을 넘어오면 1, 넘어오지 않으면 0 이렇게 판단을 내리는 겁니다.

 

그럼 이게 왜 뇌와 비슷하다고 하는 걸까요? 바로 ‘뉴런(Neuron)’의 동작 방식과 비슷하기 때문입니다. 뇌에서는 뉴런이라는 신경세포가 전기 신호를 여기저기서 받아들입니다. 그럼 이 뉴런이 그 신호를 보고 “어? 이건 중요한 신호인가?” 하고 판단을 내려요. 중요한 신호라고 판단되면 다음 뉴런으로 신호를 넘기고, 중요하지 않다고 보면 그냥 무시해 버립니다.

 

이렇게 뉴런이 전기 신호를 받아 판단하고 중요한 신호만 골라 다음 뉴런으로 넘기는 과정은 퍼셉트론의 방식과 퍽 비슷합니다. 이렇게 뇌의 기본적인 작동 원리를 딥러닝의 구조에도 적용했기 때문에, 이러한 구조를 ‘인공신경망(Neural Network)’이라고 부르는 겁니다.

 

<출처: 작가, 챗GPT로 제작>

 

  • 고양이(요고): 딥러닝 그림 하나 그려왔습니다. 뇌를 붙여서요.
  • 나: 크아악. 딥러닝은 뇌 구조 그대로가 아닌… 제가 어쩌겠습니까… 좋을 대로 하세요.

 

 

두 가지를 기억하세요: #가중치 #편향

퍼셉트론이 결과를 내기 위해 필요한 핵심이 두 가지 있습니다. ‘가중치(weight)’와 ‘편향(bias)’입니다.

 

퍼셉트론에게 이미지를 넣고 “개면 0, 고양이면 1” 이렇게 시킨다고 생각해 봅시다. 어떻게 구분할까요?

 

<출처: 프리픽>

 

우선 여러 특징을 가지고 판단해야 합니다. 여기 ‘귀엽다’는 정보가 있다고 합시다. 그런데 솔직히, 개도 귀엽고 고양이도 귀엽잖아요? 그러니까 ‘귀엽다’는 특징은 둘을 구별하는 데는 별로 중요한 정보가 아닙니다. 반면에 ‘개과인가, 고양이과인가’ 하는 정보는 어떨까요? 둘을 확실히 구별할 수 있는 굉장히 중요한 정보잖아요. 그럼 이런 특징은 중요하게 봐야합니다.

 

다시 한 번, 모두 숫자입니다. 그래서 중요도 역시 숫자로 구분합니다. 이를테면, ‘귀엽다’라는 특징에는 0.1처럼 낮은 숫자를 줍니다. 반대로 ‘개과냐 고양이과냐’하는 중요한 정보에는 100을 줍니다. 이제 숫자를 곱하면 어떨까요? 결과에 큰 영향을 주는 특징이 구분되겠죠. 이렇게 각각의 정보가 결과에 얼마나 기여하는지를 숫자로 나타낸 것이 바로 가중치입니다.

 

그럼 편향은 뭘까요? 아주아주 간단히 말하면, 치우친 판단을 바로잡는 역할이라고 이해해도 좋습니다.

 

예를 들어서 인공지능이 낮에 찍은 고양이 사진을 기가 막히게 잘 구분한다고 합시다. 일을 잘 하니 "이것도 구분해봐!" 하면서 밤에 찍은 고양이 사진을 넣어줬죠. 그러니 이 기계는 "음, 이건 내가 본 고양이의 모습이 아닌데?" 하면서 모두 ‘고양이가 아님’이라고 판단해 버립니다. 이렇게 되면 당연히 틀린 답이 나올 테고요.

 

이렇게 잘못된 판단을 바로 잡으려면 뭔가 조정해야겠죠? 이를테면 밤에 찍은 사진에 +2만 더해도, 기존에 잡은 구분선을 다시 쓸 수 있게 될 수 있다고 합시다. (물론 이 값 역시 기계가 찾습니다) 그렇게 점수판 자체를 옮기며 선을 조절하는 게 바로 편향의 역할입니다.

 

<출처: 작가, Napkin AI로 제작>

 

 

딥러닝이라는 산을 올라봅시다

퍼셉트론의 작동 방식을 이해했다면 거의 다 깨달은 겁니다. 조금만 더 가봅시다. 정상이 눈 앞입니다.

 

  • 고양이(요고): 갈! 쉽게 알려 준다더니 이렇게 어려운 딥러닝 이야기를 더 한다고요?
  • 나: 글로 보기 싫다면 이거 기가 막히게 설명한 영상이 있습니다. <링크> 한국어 자막 제공하니까 켜고 보세요!

 

거의 다 왔습니다: #활성화 함수 #다층 퍼셉트론

직선만으로는 해결할 수 있는 것이 아주 적습니다. 유연한 사고가 중요하죠. 퍼셉트론도 그렇습니다. 단순한 직선 그래프 구조를 곡선으로, 그러니까 전문 용어로는 비선형성을 더해 보다 유연하게 판단하도록 만들어 주는데, 이렇게 곡선을 만드는 역할을 활성화 함수(Activation Function)가 합니다. (다른 일도 좀 합니다)

 

그리고 또 하나, 혼자 힘으로는 할 수 있는 것이 참 적습니다. 계산할 때도 하나만으로는 정확한 결과를 내는 게 힘들어요. 그래서 이 퍼셉트론을 여러 층으로 겹겹이 쌓아서 사용하기로 합니다. 이걸 다층 퍼셉트론(Multi-Layer Perceptron)이라고 부르는데요. 이렇게 층을 여러 개로 쌓아 복잡한 데이터를 넣으면, 인공지능이 스스로 알아서 문제를 해결할 기초 체력이 생깁니다.

 

정상까지 5분 남았다고 합니다: 딥러닝의 구조

그럼 신경망이 어떻게 작동하는지도 좀 보겠습니다. 퍼셉트론은 그저 여러 데이터를 입력받아 하나의 결과를 내놓는 구조를 설명할 개념에 가깝습니다. 인공신경망은 이러한 개념을 활용해 보다 복잡한 구조 아래 동작합니다. 그리고, 이 신경망은 대부분 여러 겹으로 층층이 쌓아 올린 구조를 가지고 있습니다.

 

먼저 데이터를 처음으로 받아들이는 층이 있습니다. 이 층에선 데이터를 일단 받아 이래저래 정리를 해요. 이렇게 데이터를 처음 받아들이는 층을 #입력층(Input Layer)이라고 부릅니다.

 

이제 데이터들이 다음 층을 만나는데요. 이쯤에서 계산 장치들이 아주 많이 모여서 열심히 일을 합니다. 특히 우리가 이야기한 가중치와 편향이라는 숫자들을 써서 계산을 무지막지하게 하죠. 이 영역은 입구와 출구 사이 숨은 곳에 있다고 해서 #은닉층(Hidden Layer)이라고 부릅니다.

 

마지막으로, 이렇게 가중치와 편향을 써서 열심히 처리했다 해도 결국 숫자의 덩어리잖아요. 또 이게 예측이다보니 “내가 보기에 이 값일 확률이 제일 높아!” 정도로만 나옵니다. 역시 숫자로요. 그래서 그 숫자의 덩어리를 우리가 보기 좋은 형태로, 즉, 사람이 이해할 수 있는 형태로 바꿔주는 역할이 필요합니다. 그런 일을 하는 곳이 바로 마지막 #출력층(Output Layer)입니다.

 

  • 고양이(요고): 인간. 정리해 주쇼.
  • 나: 입력층에서 데이터를 받아들이고, 은닉층에서 가중치와 편향을 써 열심히 계산하고, 마지막 출력층에서 결과를 사람이 알만하게 바꾼다!

 

<출처: SK 하이닉스 블로그>

 

저기 꼭대기가 보입니다: #파라미터

결국 딥러닝은 엄청 많은 데이터를 가장 잘 설명할 수 있는 숫자들의 집합을 찾아내려는 과정이라고 볼 수 있어요. 그때 중요한 숫자들, 가중치와 편향, 이런 것들을 묶어 파라미터(Parameter)라고 부릅니다.

 

뉴스에도 이 단어가 꽤나 많이 나오는데요. 이 파라미터라는 건 결국 학습의 결과를 가장 잘 설명할 수 있는 단서니까요. 그래서 일반적으로 파라미터가 많으면 많을수록 더 풍부하고 복잡한 데이터를 잘 설명할 가능성이 높다고 봅니다.

 

예를 들어 그 대단한 GPT-4 모델의 경우, 파라미터 수가 최소 몇 천억 개에서 최대 1조 개에 이를 거라고 추정하고 있습니다. 정확한 공식 발표는 없지만, 어마어마한 숫자의 파라미터를 통해 세상을 숫자로 표현하고 있다고 이해하면 됩니다. 그래서 지금처럼 모델 성능을 보여주는 검증 방식(=벤치마크)이 발전하기 전에는 기사 등에서 파라미터의 숫자로 모델 성능을 말하기도 했습니다.

 

죄송합니다. 진짜 다 왔습니다: 딥러닝이 학습하는 법

그런데요, 이 파라미터가 하늘에서 뚝 떨어지는 건 아닙니다. 실제로 학습 과정에서 완벽한 결괏값을 단번에 찾기는 불가능에 가깝습니다. 그렇기 때문에 처음에는 파라미터, 즉 가중치와 편향에 적당해 보이는 값을 임의로 넣고 시작합니다. 이렇게 임의로 값을 넣은 상태에서 쭉 계산을 진행해 결과물을 한 번 만들어 내 보는 거죠.

 

당연히 처음 나온 결과는 이상할 수밖에 없습니다. 처음부터 제대로 된 숫자를 넣은 게 아니니까요. 그래서 여기서 중요한 과정이 추가로 들어갑니다. 바로 #역전파(Backpropagation)라는 과정인데요. 나온 결과물을 역으로 다시 한 번 짚어 보며 실제 우리가 원하는 값과 얼마나 차이가 나는지 하나씩 보는 과정이라고 생각해도 좋습니다.

 

다만 돌아가는 길은 매우 어둡습니다. 그래서 일종의 등대가 필요합니다. 이때 실제 우리가 원하는 값과 모델이 예측한 값의 차이를 짚어내기 위해 #손실 함수(Loss Function)라는 것을 씁니다. 이 손실 함수로 우리가 원하는 값과 얼마나 차이가 있는지 계산하면서 더듬더듬 고쳐갑니다.

 

불빛을 따라가도 돌아가는 길이 워낙 멀다 보니 매번 길을 헤매고는 하는데, 이런 문제는 #경사하강법(Gradient Descent)이라는 것으로 풀어냅니다. 데굴데굴 굴러떨어지는 속도를 덜 아프게 조정하면서 제일 빨리 길을 찾는 최적화 방법 정도로 봐도 좋겠습니다.

 

물론 이 과정에서 사람이 개입하는 것도 중요합니다. 적당한 학습 속도를 조절해 주거나, 오류를 어떤 방식으로 얼마만큼씩 수정할지 방향을 잡아 주기도 하거든요. 이렇게 인간 개발자가 개입해 조정할 수 있는 수치를 #하이퍼파라미터(HyperParameter)라고 합니다. 그래서 딥러닝 모델을 개발할 때는 죽어라고 이걸 만져야 합니다. 사람이든 컴퓨터든 도움을 받아 가며 모델이 점점 더 새로운 데이터를 잘 이해할 수 있도록 학습되는 겁니다.

 

이렇게 앞으로 갔다가 틀린 부분을 고쳐서 다시 뒤로 돌아오고, 또 다시 앞으로 갔다가 문제가 있으면 또 고치고 하는 과정을 계속 반복하는 거죠. 이게 바로 딥러닝이 학습하는 방식입니다.

 

<출처: 작가, 챗GPT로 제작>

 

  • 고양이(요고): zzZZ…zzZZ…
  • 나: 네… 괜찮습니다…. 학습법을 다룬 또 다른 영상이 있으니까요. 그것도 귀찮다면 하나만 기억해 주십시오. 딥러닝 모델이 하늘에서 뚝 떨어지는 것이 아닙니다. 문제를 고치고 고치고 또 고치는 과정을 한없이 반복해야 하며, 많은 시간과 돈이 들어간다는 것을요.

 

 

마치며

아마 이번 글이 시리즈에서 가장 어려운 글일 겁니다. 다른 것들 잊어도 기억하면 좋을 것을 정리했습니다.

 

여기까지 요약 with 고양이(요고AI):

  • 머신러닝은 AI라는 큰 틀 안에서 기계가 지능의 일부인 ‘학습 능력’을 갖도록 하는 기술
  • 학습이란, 데이터에서 의미 있는 패턴이나 규칙을 발견해 새로운 입력을 받아 출력을 만들 능력을 갖추는 일
  • 이는 컴퓨터가 이해할 수 있는 데이터가 모두 숫자로 구성되었기에 가능한 것
  • 한 발 나아가, 딥러닝은 기계가 좀 더 알아서 더 많은 데이터를 감당하며 학습할 수 있게 해줌

 

복잡한 기술과 용어가 많이 나오기는 했지만, 일단 이렇게 큰 흐름으로 기억하면 충분합니다. 큰 줄기를 잡고 보는 것과 아닌 것이 다르니까요.

 

개인적으로는 이처럼 세상을 숫자로 표현하는 방식이 마치 진리를 ‘숫자’라고 본 그리스 철학자 피타고라스와 비슷한 느낌을 줍니다. 우리가 사는 세상 전부를 숫자로 표현하고 이해하는 방식이라는 점에서 말이죠. 하지만 그것이 전부는 아닐 겁니다. 다음은 진짜 세상을 이해하는 데 도움을 줄 머신러닝의 용어들을 설명해 보겠습니다.

 

©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

로그인하고 자유롭게 의견을 남겨주세요.
에디터가 직접 고른 실무 인사이트 매주 목요일에 만나요.
newsletter_profile0명 뉴스레터 구독 중