딥 러닝이 도대체 뭔가요?
챗GPT가 촉발한 인공 지능(AI)에 대한 뜨거운 관심이 계속되고 있습니다. 그리고 요즘 인공지능에 대한 이야기에서 빠지지 않는 단어가 바로 딥 러닝이죠. 딥 러닝(Deep Learning), 직역하자면 깊은 학습 정도가 되려나요? AI 전문가가 아니더라도 딥 러닝 정도는 알아두는 것이 최신 트랜드를 따라가기에 좋을 것 같아 간략히 알아보려고 합니다.
간단히 말해서 딥 러닝은 '데이터의 복잡한 패턴을 학습하기 위해 여러 계층으로 신경망을 훈련시키는 머신러닝(기계학습)의 한 유형'입니다. 데이터, 패턴, 신경망, 머신러닝 등 여러 개념이 등장하지만 우리는 AI 전문가가 되려는 것은 아니니 모르는 것은 그냥 넘어가고 한 번 이해해보죠.
( 혹시라도 궁금하신 분은 인공 신경망에 대해서는 제 블로그의 생성AI 기초(2) : 신경망 , 데이터에 대해서는 생성AI 기초(3) : 데이터의 중요성 글을 참고하시면 좋을 것 같습니다.)
기계가 인간처럼 생각하고 대답하게 하기 위한 방법을 여러모로 고민하던 과학자들은 기계도 인간처럼 공부를 할 수 있게 만들고 싶었습니다. 인간처럼 공부를 시키기 위해서는 인간의 뇌를 모방한 무엇인가를 기계에게 만들어줘야 했습니다. 인간의 뇌를 본따면 기계도 인간처럼 생각할 수 있는 인공지능을 만들 수 있다고 생각한 것이죠. 그렇게 개발된 것이 인공 신경망입니다. 이렇게 인공 신경망을 사용해서 복잡한 패턴을 학습하고 예측할 수 있도록 하는 것이 딥 러닝입니다.
딥러닝의 역사
딥 러닝의 기원은 연구자들이 인공 신경망(ANN)을 실험하기 시작한 1940년대로 거슬러 올라갑니다. ANN은 인간의 두뇌의 뉴런과 시냅스를 각각 모방한 노드의 연결을 통해 인간 두뇌의 구조와 기능을 시뮬레이션하도록 설계되었습니다. 그러나 초창기에는 컴퓨터의 계산 능력이 부족하다보니 ANN은 실제 문제를 해결하는 데 전혀 실용적이지 않았습니다.
1980년대에 연구원들은 음성 인식 및 이미지 분류와 같은 실용적인 문제를 해결하기 위해 다시 신경망을 사용하는 방법을 탐구하기 시작했습니다. 그러나 이러한 초기 신경망은 여전히 용량이 제한적이었고 많은 경우 사람이 일일이 수작업을 통해 작업을 해야 했습니다.
수십 년의 정체기를 거쳐 딥 러닝이 실제로 성공적으로 사용되기 시작한 것은 2000년대 초반이었습니다. 새로운 알고리즘이 개발되고 무엇보다 딥 러닝 모델을 교육하는 데 필요한 대규모 데이터 세트를 구하는 것이 가능해졌기 때문인데, 바로 인터넷의 등장이 큰 역할을 했습니다. 인터넷은 수많은 사용자들을 통해 무한한 정보의 창고 처럼 데이터를 쏟아내기 시작했고, 이러한 정보를 가공하면 딥 러닝에 쓸 수 있는 대규모 데이터 세트를 만들어내는 것이 어렵지 않았습니다.
2012년 Google의 연구원 팀은 딥 러닝을 사용하여 이미지 인식의 획기적인 발전을 이루었습니다. 그들은 대규모 이미지 데이터 세트에서 딥 러닝 모델을 훈련시켰고 모델은 이미지 분류에서 90%의 정확도를 달성할 수 있었습니다. 90%의 정확도는 과거에 비하면 획기적인 수준의 정확도였는데, 이 정도면 왠만한 사람보다 더 정확하게 이미지를 분류할 수 있는 수준이라고 합니다. 딥 러닝의 잠재력이 빛을 보기 시작한 것이죠. 2016년도에는 한 이미지 분류 대회(ImageNet 2016)에서 Microsoft에서 개발한 ResNet이라는 모델이 자그마치 96.4%의 정확도로 우승을 차지하기도 했습니다.
그 이후로 딥 러닝은 광범위한 분야에서 응용되며 최첨단 결과를 달성하기 시작했습니다. 2017년에는 OpenAI가 개발한 딥러닝 모델 알파고가 우리 이세돌 9단과 대결해서 승리를 거둬 충격을 주기도 했지요. 2018년 구글이 개발한 딥 러닝 모델은 실제 사진과 구별할 수 없는 사실적인 사람들의 이미지를 생성할 수 있었습니다.
딥 러닝의 작동 방식
딥 러닝의 작동 방식은 사실 제법 복잡한 내용이다보니 깊이 들어가지 않고 기본 방식만 집어보겠습니다. 딥 러닝 모델은 인공 신경망으로 구성됩니다. 위에서 설명한 것 처럼 인공 신경망은 인간의 두뇌에서 영감을 얻었습니다. 인간의 두뇌가 뉴런과 시냅시스로 복잡하게 연결되어 있는 것과 마찬가지로 인공 신경망은 수많은 노드가 서로 연결되어 있는 여러 레이어(층)로 이루어집니다. 신경망의 각 노드는 물리적으로 보이는 뉴런같은 실체는 아니고 사실은 간단한 수학 함수를 나타냅니다. 이러한 노드들은 입력된 데이터의 중요도를 평가할 수 있는 가중치 에지로 서로 연결됩니다.
딥 러닝 모델을 훈련하기 위해서 입력 데이터와 출력 데이터로 구성된 데이터 세트가 필요합니다. 모델은 주어진 데이터 세트를 열심히 공부해서 입력 데이터와 출력 데이터 간의 관계를 학습하게 됩니다. 이때 모델은 신경망 가장자리(에지)의 가중치를 조정해가면서 점점 더 정교하게 학습을 수행해 나갑니다. 이 때 모델이 훈련받는 데이터가 많으면 많을수록 입력 데이터와 출력 데이터 간의 관계를 더 잘 학습할 수 있기 때문에 대규모 데이터 세트가 필요하게 됩니다. 이렇게 학습을 마친 딥 러닝 모델은 이제 새 데이터에 대한 예측을 수행하는 데 사용할 수 있습니다.
딥 러닝의 이점
딥 러닝을 사용하면 어떤 이점이 있길래 연구자들이 수십년간 좌절을 겪어가면서도 개발을 계속해 왔을까요? 한 마디로 말하면 딥 러닝 모델은 매우 다양한 분야에 응용이 가능합니다. 기존에는 컴퓨터로 어떤 특정한 작업을 수행하려면 그 작업에 딱 맞는 프로그램을 개발해야 했습니다. 원하는 결과를 얻기 위해서는 그러한 결과를 내도록 하나의 프로그램을 짜야 한다는 것이죠. 그러나 딥 러닝 모델은 이런 명시적인 프로그래밍이 없어도 미리 복잡한 패턴을 학습하고 새로운 결과값을 예측할 수 있기 때문에 다양한 응용 분야에 활용할 수 있게 됩니다.
딥 러닝 모델은 대규모 데이터 세트를 학습하다보니 데이터에서 사람이 보기 힘든 패턴을 추출할 수도 있습니다. 알파고가 인류의 수많은 바둑 대결에서 등장한 승리의 패턴을 꿰차고 있는 이세돌 9단 조차 미쳐 생각하지 못한 창의적인 수를 통해 승리를 거둘 수 있었던 근원에는 이러한 딥 러닝 모델이 있는 것이지요.
딥러닝의 응용
딥 러닝은 광범위한 분야에서 새로운 응용 프로그램을 개발하는 데 사용되고 있습니다. 특히, 최근 생성형 AI가 폭발적으로 성장하면서 딥 러닝이 응용되는 분야는 점점 더 늘어나고 있습니다. 일반적으로 딥 러닝이 응용되고 있는 분야는 다음과 같습니다.
• 이미지 인식
• 자연어 처리
• 음성 인식
• 자율주행차
• 의학적 진단
• 금융 거래
결론
딥 러닝은 인공지능의 발전을 이끌면서 미래를 변화시킬 수 있는 최첨단 기술입니다. 아직까지는 새로운 분야라는 딱지를 떼지 못하고 있는 수준이지만 챗GPT, 미드져니 등 숱한 화제를 불러일으키는 인공지능 서비스에 활용되면서 인류 산업 역사에 혁명을 일으킬 잠재력을 충분히 증빙하고 있습니다. 물론 딥 러닝의 한계에 대한 비판도 많이 있습니다만, 강력한 기술이라는 점은 인정할 수 밖에 없을 것 같습니다. 딥 러닝에 대해서는 온라인에 상세하고도 다양한 자료가 이미 상당히 축적이 되어 있으니 관심이 있으신 분들은 쉽게 공부를 해보실 수 있습니다.
'초심자를 위한 AI' 카테고리의 다른 글
[생성AI] 생성AI 기초(8) : 스타일 트랜스퍼(Style Transfer)란? (0) | 2023.05.03 |
---|---|
오토GPT(AutoGPT) 설치 단계별 따라하기 by 구글바드 (1) | 2023.05.02 |
오토GPT(AutoGPT)와 활용 방안 (2) | 2023.04.24 |
[인공지능] 이것만 알자: (3)이미지 생성형 AI 소개 (0) | 2023.04.21 |
오토GPT란 무엇인가요? (What is AutoGPT?) (빙 인터뷰) (0) | 2023.04.18 |