#인공지능 

딥러닝(Deep Learning) 이란

딥러닝에서 '딥'이 무엇을 의미하고 왜 딥러닝이라 하는지, 딥러닝의 작동 원리에 대해 이해 하기

2022-09-26 | 박성돈

딥러닝(Deep Learning) 이란?

“딥러닝”이란 무엇일까요? 딥러닝은 인공지능 분야에서도 머신러닝의 여러 방법 중 하나의 방법론이라고 지난 글(머신러닝(Machine Learning) 이란)에서 다루었습니다. 직역을 해보면 깊은 학습? 무엇을 깊게 학습하는 것일까요? 왜 깊게 학습한다고 표현했을까요? 어떤 의미와 개념을 담고 있기에 딥러닝이라 표현했을까요? 이런 궁금증에 대해 알아보고자 합니다.

 

인공지능(Artificial Intelligence, AI)

인공지능은 1950년대에 “컴퓨터가 생각할 수 있는가?”라는 질문을 하면서 시작되어 오늘날에도 여전히 이 질문에 대한 답을 찾고 있습니다. 이 분야의 간결한 정의는 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동입니다. 이처럼 AI는 머신 러닝과 딥러닝을 포괄하는 종합적인 분야입니다.

아주 오랜 기간 동안 많은 전문가는 프로그래머들이 명시적인 규칙을 충분하게 많이 만들어 지식을 다루면 인간 수준의 인공 지능을 만들 수 있다고 믿었습니다. 이런 접근 방법을 심볼릭 AI(symbolic AI)라고 하며 1950년대부터 1980년대까지 AI 분야의 지배적인 패러다임이었습니다.

심볼릭 AI가 체스 게임처럼 잘 정의된 논리적인 문제를 푸는 데 적합하다는 것이 증명되었지만, 이미지 분류, 음성 인식, 언어 번역 같은 더 복잡하고 불분명한 문제를 해결하기 위한 명확한 규칙을 찾는 것은 아주 어려운 일입니다. 이런 심볼릭 AI를 대체하기 위한 새로운 방법이 등장했는데, 바로 머신러닝(Machime Learning)입니다.

딥러닝 1

 

머신러닝

머신러닝은 이런 질문에서부터 시작됩니다. “우리가 어떤 것을 작동시키기 위해 ‘어떻게 명령할지 알고 있는 것’ 이상을 컴퓨터가 처리하는 것이 가능한가? 그리고 특정 작업을 수행하는 법을 스스로 학습할 수 있는가? 컴퓨터가 우리를 놀라게 할 수 있을까? 프로그래머가 직접 만든 데이터 처리 규칙 대신 컴퓨터가 데이터를 보고 자동으로 이런 규칙을 학습할 수 있을까?”

이 질문은 새로운 프로그래밍 패러다임의 장을 열었습니다. 전통적인 프로그래밍인 심볼릭 AI의 패러다임에서는 규칙(프로그램)과 이 규칙에 따라 처리될 데이터를 입력하면 해답이 출력됩니다. 머신러닝에서는 데이터와 이 데이터로부터 기대되는 해답을 입력하면 규칙이 출력됩니다. 이 규칙을 새로운 데이터에 적용하여 창의적인 답을 만들 수 있습니다.

머신러닝 규칙

머신러닝 시스템은 명시적으로 프로그램되는 것이 아니라 훈련(training)됩니다. 작업과 관련 있는 많은 샘플을 제공하면 이 데이터에서 통계적 구조를 찾아 그 작업을 자동화하기 위한 규칙을 만들어 냅니다. 머신러닝은 1990년대 들어와서야 각광을 받기 시작했지만, 고성능 하드웨어와 대량의 데이터셋이 가능해지면서 금방 AI에서 가장 인기 있고 성공적인 분야가 되었습니다.

 

데이터에서 표현 학습하기

딥러닝을 이해하기 위해서는 먼저 머신러닝 알고리즘이 하는 일이 무엇인지 알아야 합니다. 머신러닝은 샘플과 기댓값이 주어졌을 때 데이터 처리 작업을 위한 실행 규칙을 찾는 것입니다. 머신러닝을 하기 위해서는 세 가지가 필요합니다.

  • 입력 데이터 포인트
    예를 들어 주어진 문제가 이미지 태깅에 관한 작업이라면 데이터 포인트는 사진이 됩니다. 만약 음성 인식이라면, 이 데이터 포인트는 사람의 대화가 녹음된 사운드 파일입니다.

 

  • 기대 출력
    이미지 작업에서 기대하는 출력은 “강아지”, “고양이” 등과 같은 태그입니다. 음성 인식 작업에서는 사람이 사운드 파일을 듣고 옮긴 글입니다.

 

  • 알고리즘의 성능을 측정하는 방법
    알고리즘의 현재 출력과 기대 출력 간의 차이를 결정하기 위해 필요합니다. 측정값은 알고리즘의 작동 방식을 교정하기 위한 신호로 다시 피드백됩니다. 이런 수정 단계를 학습(learning)이라고 말합니다.

 

머신러닝 모델은 입력 데이터를 의미 있는 출력으로 변환합니다. 이것이 알고 있는 입력과 출력의 샘플로부터 학습하는 과정입니다. 그렇기 때문에 머신러닝과 딥러닝의 핵심 문제는 의미 있는 데이터로의 변환입니다. 다시 말하면 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현(representation)을 학습하는 것입니다.

여기에서 표현이란 무엇일까요? 예를 들어 ‘이미지에 있는 모든 빨간색 픽셀을 선택’하는 문제는 RGB 포맷에서는 쉽습니다. 반면에 ‘이미지의 채도를 낮추는’ 것은 HSV 포맷이 더 쉽습니다. 머신러닝 모델은 입력 데이터에서 적절한 표현을 찾는 것입니다. 이런 데이터 변환은 분류 작업 같은 문제를 더 쉽게 해결할 수 있도록 만들어 줍니다.

 

딥러닝에서 ‘딥’이란?

딥러닝은 머신러닝의 특정한 한 분야로서 연속된 층(layer)에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 새로운 방식입니다.

딥러닝의 딥(deep)이란 단어가 어떤 깊은 통찰을 얻을 수 있는 것을 의미하지는 않고, 그냥 연속된 층으로 표현을 학습한다는 개념을 나타냅니다. 데이터로부터 모델을 만드는 데 얼마나 많은 층을 사용했는지가 그 모델의 깊이가 됩니다.

최근의 딥러닝 모델은 표현 학습을 위해 수십 개, 수백 개의 연속된 층을 가지고 있습니다. 이 층들을 모두 훈련 데이터에 노출해서 자동으로 학습시킵니다.

딥러닝에서는 기본 층을 겹겹이 쌓아 올려 구성한 신경망(neural network)이라는 모델을 사용하여 표현 층을 학습합니다. 신경망이란 단어는 신경 생물학의 용어입니다. 딥러닝의 일부 핵심 개념이 뇌 구조를 이해하는 것에서부터 영감을 얻어 개발된 부분이 있지만, 딥러닝 모델이 뇌를 모델링한 것은 아닙니다. 그냥 데이터로부터 표현을 학습하는 수학 모델일 뿐입니다.

 

딥러닝의 작동 원리

인공 신경망

머신러닝의 한 기법인 딥러닝은 특정 형식의 인공 신경망(Artificial Neural Network, ANN)을 사용하며, 우선 샘플 데이터를 통한 훈련 작업이 필요합니다. 그 이후에는 훈련된 ANN을 해당 작업에 사용할 수 있습니다. 훈련된 ANN을 사용하는 것을 “추론”이라고 합니다. 추론이 진행되는 동안 ANN은 학습된 규칙에 따라 제공된 데이터에 대한 평가 결과를 다시 보고합니다. 이러한 평가 결과는 입력 이미지에 결함이 있는지 또는 오류가 없는 객체를 나타내는지에 대한 추정 등이 될 수 있습니다.

딥러닝 3

[출처 : https://www.baslerweb.com/ko/vision-campus/markets-and-applications/what-is-deep-learning/]

뉴런, 계층 및 연결

인공신경망(ANN)은 서로 연결된 “뉴런” 계층으로 구성됩니다. 가장 간단한 경우, 이 계층은 입력 계층과 출력 계층으로 구성됩니다. 뉴런과 연결(link)은 매트릭스에 비유할 수 있습니다. 링크 매트릭스는 입력 매트릭스 개별 값과 결과 매트릭스의 값 사이의 연결을 포함합니다. 연결 매트릭스의 값에는 각 연결의 가중치가 포함됩니다. 입력 값과 논리 매트릭스의 값에 가중치를 반영하면 결과 매트릭스의 개별 값이 생성됩니다.

뉴런 계층 연결

[출처 : https://www.baslerweb.com/ko/vision-campus/markets-and-applications/what-is-deep-learning/]

심층 인공 신경망

딥러닝이라는 용어는 소위 “심층” 인공 신경망(ANN)에 대한 훈련을 의미합니다. 이 인공 신경망은 입력 및 출력 계층 뿐만 아니라 입력 및 출력을 위한 가시적인 계층 사이에 존재하는 수백 개의 추가적인 “숨겨진” 계층으로 구성됩니다. 숨겨진 계층의 결과 매트릭스는 다음 계층의 입력 매트릭스로 사용됩니다. 이 경우에는 마지막 계층의 출력 매트릭스에만 결과가 포함됩니다.

딥러닝 5

[출처 : https://www.baslerweb.com/ko/vision-campus/markets-and-applications/what-is-deep-learning/]

훈련

인공 신경망(ANN)을 훈련할 때 초기 초점은 무작위로 설정됩니다. 그리고 나서 샘플 데이터가 서서히 추가됩니다. 학습 규칙은 입력 데이터 및 예상 결과에 따라 관계의 가중치를 조정하는 데 사용됩니다. 결과에 대한 평가의 정확성을 의미하는 ANN의 궁극적인 효과는 훈련에서 사용되는 예시 데이터에 큰 영향을 받습니다.

일반적으로 훈련 내용에 변동성이 높은 예시 데이터가 많이 포함될수록 추론에서 더 정확한 결과를 얻을 수 있습니다. 매우 유사하거나 반복적인 데이터를 사용하여 훈련을 수행하는 경우, ANN은 예시 데이터와 다른 분야의 데이터를 추정할 수 없게 됩니다. 이 경우 우리는 ANN이 “과적합(overfit)”하다고 표현합니다.

정상 과적합

[출처 : https://www.baslerweb.com/ko/vision-campus/markets-and-applications/what-is-deep-learning/]

 

딥러닝의 성과

딥러닝은 머신러닝의 오래된 하위 분야이지만 2010년 초가 되어서야 유명해졌습니다. 이때부터 몇 년 동안 이 분야에서 일어난 혁신은 결코 작지 않습니다. 사람에게는 자연스럽고 직관적으로 보이지만 기계로는 오랫동안 해결하기 어려웠던 시각과 청각 같은 지각의 문제에서 괄목할 만한 성과를 냈습니다.

특히 딥러닝은 다음과 같은 획기적인 발전을 이루었습니다. 모두가 머신러닝에서는 오랫동안 어려운 문제였습니다.

  • 사람과 비슷한 수준의 이미지 분류, 음성 인식, 필기 인식, 자율 주행 능력
  • 향상된 기계 번역
  • 향상된 TTS(Text-To-Speech) 변환
  • 구글 나우(Now)와 아마존 알렉사(Alexa) 같은 디지털 비서
  • 구글, 바이두(Baidu), 빙(Bing)에서 사용하는 향상된 광고 타기팅(targeting)
  • 향상된 웹 검색 엔진의 결과
  • 자연어 질문에 대답하는 능력
  • 사람을 능가하는 바둑 실력
  • 딥러닝 성과 참고 영상(영상시간 2분30초 까지)

우리는 여전히 딥러닝이 할 수 있는 일의 전체 크기를 알아 가는 중입니다. 지각과 자연어 인식 외에 형식 추론(formal reasoning)과 같은 다양한 문제에 적용하기 시작했습니다. 만약 성공한다면 딥러닝이 과학, 소프트웨어 개발 등에서 사람을 보조하게 되는 시대를 알리는 것일지도 모릅니다.

 

인공지능, 머신러닝, 딥러닝 등에 관심에 있는 분이라면, 저희 모두의 연구소의 아이펠 과정을 통해 그 궁금증을 풀어보시는 건 어떨까요!! 데이터 분석부터 딥러닝까지 다양한 커리큘럼이 준비되어 있습니다. 관심있으시다면 아래를 참조해 주세요~ 감사합니다.^_^*

아이펠(AIFFEL) – 함께 탐험하며 성장하는 AI 학교

웹사이트에 로그인 후 바로 코딩 실습 가능한 아이펠만의 교육 플랫폼 아이펠만의 AI on Web 기술! 아이패드에서도 GPU를 활용한 코딩이 가능해요. 개념 학습부터 프로그래밍 실습까지 한 페이지에서 진행 할 수 있어요. (All-in-1 page) 20여개 프로젝트로 배우며 실무 능력 UP ‘거울아 거울아, 나는 멍멍이 상이니, 아니면 냥이 상이니?’, ‘난 스케치를 할 테니 너는 채색을 하거라’ 등 20여개 프로젝트가 준비되어 있어요.

 

참고자료 링크

참고영상 링크