d라이브러리









[특집] 딥러닝의 모든 것은 ‘함수’

입력값을 넣으면 출력값이 나온다! 어디서 많이 본 것 같지 않아? 그래, 맞아 함수야. 함수는 x라는 미지수에 값을 넣으면 y라는 결괏값이 정해지잖아. 어떤 식이냐에 따라 나오는 값도 달라지지. 그래서 딥러닝 자체를 함수라고 볼 수 있지. 앞서 설명한 퍼셉트론의 기본 구조 역시 함수야.

 

1. 함수의 정의 

 


두 변수 x와 y에 대해 x의 값이 정해짐에 따라 y의 값이 오직 하나씩 정해지는 관계가 있을 때 y를 x의 함수라고 합니다. 즉 함수는 x라는 입력값을 넣으면 y라는 출력값이 나오는 관계로 이해할 수 있어요. 그중 y=ax+b 꼴의 함수는 일차함수라고 불러요. 오른쪽 그림은 입력한 값을 두 배한 것이 출력값이므로 y=2x의 꼴의 함수가 되겠죠.

 

2. 일차함수의 그래프

 


y=ax + b꼴의 일차함수에서 x에 값을 넣어 나오는 y값을 x축과 y축으로 이뤄진 좌표평면에 나타낸 것을 일차함수 그래프라고 합니다.

 

① 계수

 


계수는 어떤 변수에 곱하는 상수를 말합니다. 일차함수 y=ax+b에서는 x라는 변수에 곱한 a가 계수입니다. a는 y의 증가량을 x의 증가량으로 나눠 구할 수 있어서 그래프의 기울기(경사도)를 뜻하기도 합니다. a가 양수면 오른쪽으로 갈수록 증가하는 직선 그래프가 생기고, a가 음수면 오른쪽으로 갈수록 감소하는 직선 그래프가 나옵니다. 또 a의 절댓값이 커지면 기울기가 점점 가파르고, 작아지면 기울기는 완만해집니다. a가 양수면 오른쪽으로, 음수면 왼쪽으로 기울어진 그래프가 나옵니다.

 

② y절편

 


그래프가 축과 만나는 점을 절편이라고 합니다. y절편은 y축과 만나는 점을 말하죠. 이때 x값은 0입니다. 그래서 일차함수 y=ax+b에서는 x에 0을 대입하고 남은 b가 y절편입니다. y절편의 크기에 따라 그래프의 높이가 달라집니다. b가 크면 클수록 그래프는 위쪽으로 올라가고 작으면 작을수록 그래프는 아래쪽으로 내려갑니다.

 

3. 합성함수

 

 

인공신경망은 여러 개의 함수가 합쳐져 있습니다. 이때 둘 이상의 함수를 합친 것을 ‘합성함수’라고 합니다. 만약 y=ax+b, z=cy+d라는 두 함수가 있을 때 오른쪽과 같은 순서로 합성한다고 하면, 1단계는 x를 입력한 뒤 y=ax+b를 출력하고, 2단계는 그 출력된 ax+b를 다시 입력값으로 넣어 c(ax+b)+d라는 값을 출력합니다. 임의의 원소 x가 함수 f(x)에 의해 y를 출력하고, 함수 g(y)에 의해 이 y값이 다시 z로 출력된다면 g(f(x)) 또는 g  f로 나타냅니다.

 

함수로 배우고 함수로 예측하는 딥러닝

 

자, 그럼 딥러닝에 사용되는 함수에 대해 배웠으니 딥러닝이 어떻게 작동하는지 하나씩 알아볼게! 먼저 이해하기 쉽게 한 개의 층으로 이뤄진 퍼셉트론을 설명할게. 하지만 실제 딥러닝은 여러 개의 퍼셉트론이 이어진 구조야! 다시 말해 여러 개의 함수를 합성하는 거지. 

 

 

오늘은 폴리매스 랜드에서 행사가 열리는 날! 에프매스가 행사에 참여할지 말지 AI로 예측해보는 문제를 풀어봅시다. 인공신경망을 구성하는 함수에 데이터를 넣어 계산한 결과를 토대로 판단을 내리죠. 에프매스가 행사에 가기 위해 고려하는 사항이 날씨(x1), 함께 갈 친구(x2), 행사장에 한 번에 갈 수 있는 대중교통(x3)이라고 해봅시다. 날씨가 좋은 경우 x1은 1이고 날씨가 나쁠 경우엔 0입니다. 또 함께 갈 친구가 있으면 x2=1, 함께 갈 친구가 없으면 x2=0이고 대중교통이 있는 경우 x3=1, 없는 경우 x3=0입니다.

 

 

그렇다면 에프매스는 행사에 갈 때 어떤 고려사항을 더 중요하게 생각할까요? 이를 반영하기 위해 각 입력값에는 어떤 것을 더 중요하게 생각하는지 판단하는 가중치(계수)를 곱한 뒤 편향(y절편)을 더해줘야 합니다. 편향은 고려하는 조건과 상관없는 에프매스의 특성이라고 생각할 수 있습니다. 평소 에프매스가 외출하는 것을 좋아했다면 날씨, 친구, 대중교통과 관계없이 에프매스가 축제에 갈 확률이 높겠죠? 하지만 아직 에프메스에 대해 데이터를 학습하지 않은 AI는 에프매스의 취향과 특성을 모르기 때문에 가중치와 편향에는 임의의 값이 주어집니다. 그리고 AI는 가중치와 입력값을 행렬로 나타낸 뒤 곱하고 편향을 더합니다.

 

 

이제 2단계에서 계산한 값들을 출력해야 하는데요, 이때 ‘활성화 함수’를 사용합니다. 활성화 함수를 사용하는 이유는 다양하게 퍼져있는 y값을 일정 범위 안의 값으로 변환해 주기 위해서입니다. 그 중 ‘시그모이드 함수’는 자연상수(e)를 사용한 함수로 그래프가 S자형 곡선입니다. y의 값이 0부터 1 사이에 존재한다는 특징을 갖죠. 이 함수에 앞서 구한 가중치 함수 H(x)=wx+b를 합성하면 함숫값 y의 분포가 0부터 1 사이의 연속한 S자형 곡선 모양의 그래프가 나옵니다. AI는 합성함수의 계산 결과를 토대로 y의 값이 클수록 에프매스가 행사에 갈 확률이 크고, 작을수록 행사에 갈 확률이 작다고 예측합니다.

 

 

처음에 주어진 가중치와 편향은 임의의 값이기 때문에 AI가 예측한 것이 틀릴 수도 있어요. 그래서 AI는 계산한 값이 실제 값과 얼마나 다른지를 스스로 계산해 가중치를 수정하는데요, 이때도 ‘손실함수’라는 함수가 사용됩니다. 손실함수 역시 다양한 종류가 있지만, 계산이 간편해 가장 많이 사용하는 손실함수는 ‘평균제곱오차’예요. AI가 출력한 값과 실제 값과의 차이를 제곱하고 평균을 계산해 출력값과 실제 값의 오차를 얻는 방법입니다. 단순히 차이를 합해서 평균을 내면 차이가 음수일 경우 실제 오차보다 계산된 오차가 작을 수 있어 제곱한 뒤 평균을 냅니다. AI는 1~3단계를 반복하며 손실함수의 값이 최소가 되는 가중치를 찾습니다.

 

무궁무진한 딥러닝의 세계!

 

앞서 설명한 퍼셉트론을 몇 개 연결하냐에 따라 딥러닝은 더욱 똑똑해질 수 있어. 물론 아직 완벽한 것은 아니기 때문에 연구자들이 할 일이 많지만 말야. 오늘은 내가 딥러닝으로 즐기는 취미를 소개하면서 인사할게. 다음에는 더 재미있는 AI 이야기로 만나자고~.

 

 

스스로 점점 더 강해지는 NPC


엔씨소프트의 ‘블레이드&소울’이라는 게임의 ‘무한의 탑’ 알아? AI와 대결해 이기면 다음 층으로 올라가는 방식의 게임이야. 무한의 탑에 등장하는 AI는 스스로 상황을 판단하고 기술을 선택해 이용자의 실력에 맞춰 점차 강해져. 엔씨소프트는 2018년에는 딥러닝을 사용해 점점 더 실력이 높아지는 ‘비무 AI’를 발표했어. 무한의 탑 속 AI의 경우 이용자의 실력에 맞춰 학습하기 때문에 어느 정도 패턴을 알아차릴 수 있지만, 비무 AI는 딥러닝을 통한 심층 학습으로 움직임이나 기술을 사용하는 데 어떤 규칙성도 없지.

 

 

다시 들을 수 있는 그리운 목소리


2020년 2월 6일 방영된 MBC 다큐멘터리 ‘너를 만났다’ 제작팀은 그리운 사람의 목소리를 딥러닝으로 재현했어. 7살에 병을 앓다 세상을 떠난 나연이의 가족이 가상현실을 통해 나연이를 다시 만날 수 있게 한 거야. 나연이가 남긴 짧은 영상 속 음성을 기본 데이터로 삼고 부족한 데이터는 나연이의 목소리와 비슷한 또래 아이들의 목소리로 채웠어. 이렇게 만든 많은 양의 데이터로 학습시켜 마침내 나연이의 목소리를 재현해냈지. 이렇게 딥러닝은 데이터만 있다면 우리에게 그리운 사람의 목소리를 들려줄 수 있어.

 

 

새로운 이미지를 생성하는 화가


구글의 ‘딥드림’은 이미지 인식 AI를 이용해 이미지의 경계나 특정 패턴을 찾아낸 뒤 새로운 화풍으로 바꿔줘. 그 결과물이 마치 꿈을 꾸는 듯 추상적이라 a딥드림이라는 이름이 붙었지. 딥드림은 이미지의 경계나 특정 패턴을 더 잘 찾기 위해 수백만 개의 이미지를 딥러닝으로 학습했어. 딥드림이 그린 29점의 작품은 2016년 2월 미국 샌프란시스코에서 열린 미술품 경매에서 약 1억 1천만 원에 판매됐어.

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2021년 03월 수학동아 정보

  • 김미래 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 수학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?