이번 포스팅에서는 딥러닝의 역사에 대해 살펴볼까 합니다. 왜 딥러닝이 태동했을까요? 딥러닝이 처음부터 지금처럼 각광받는 알고리즘이었을까요? 여러 가지 의문들이 있습니다. 지금은 챗GPT와 같은 서비스가 딥러닝에 의해 가능하다는 사실을 많은 사람들이 알고 있습니다. 이제는 이 기술에 대해 어느 정도는 알고 있어야 한다는 이야기죠. 이번 글에서는 딥러닝이 무엇이고 주목받게 된 이유를 알아보도록 하겠습니다.
딥러닝(deep learning)이란?
딥러닝은 인간의 머리. 즉 우리의 두뇌에 영감을 받아 구현이 시작됐습니다. 우리의 뇌처럼 데이터를 처리하도록 컴퓨터를 가르치는 방식이라고 해서 인공 지능(AI) 이라고도 합니다. 원래 아이디어는 뉴런을 관찰해 보니, 복잡한 구조속에도 동작은 아주 단순하든 것이었습니다.
- 아이디어 : 활성화하거나 할성화하지 않거나 → 수학적으로 구현 가능하겠다고 생각(0과 1)
실제 인공 신경망도 컴퓨터 내부에서 함께 작동하는 여러 계층의 인공 신경 세포로 구성합니다. 1943년에 워렌 맥클록과 월터 피츠가 전기 스위치처럼 켜고 끄는 기초 기능의 인공 신경을 만들었죠. 마치 그물망 형태로 연결하면 사람 뇌에서 동작하는 아주 간단한 기능을 흉내 낼 수 있음을 증명하였습니다.
딥러닝이 주목받게 된 이유
그렇다면 왜 딥러닝이었을까요?
딥 러닝의 역사에서 큰 전환점인 기존 신경망 모델의 단점이 극복됐습니다. 원래 가지고 있던 과적합 등 학습에 관련된 문제를 해결되었지만 학습 시간은 여전히 느렸습니다. 그런데 하드웨어의 발전하면서 GPU가 나오게 됩니다. GPU는 딥러닝에서 복잡한 행렬 연산에 소요되는 시간을 크게 단축시키게 됩니다. 또 빅데이터 시대가 되면서 대량의 데이터, 특히 SNS 사용자들에 의해 생산되는 다량의 자료와 태그정보를 학습에 이용되면서 정확도 크게 향상했습니다. 이런 몇 가지의 우여곡절 후에 딥러닝은 기존 머신러닝보다 더 좋은 정확도를 보이고 있습니다. 안쓸 이유가 없겠죠?
딥러닝의 데이터 방향
인공신경망의 학습에 사용되는 Training data는 정답지가 있는(labeled) 데이터여야 하는데요. 즉 지도학습(supervised learning)의 경우 대량의 Training Set 모두에 label을 달아주는 일은 너무 힘든 과정입니다. 예를 들어, 그림 한장한장에 어떤 특징이 있는지 사람이 수동으로 라벨링해야 한다는 말이죠.
이런 이유로 초기 학습에 사용되는 일부 데이터에 대해 지도학습(supervised learning)을 수행하고 나머지 Training Set에 대해서는 비지도학습(unsupervised learning)을 진행하자는 방법론이 나왔습니다. 학습된 결과는 기존 학습의 결과와 앞서 분석된 메타태그 정보들을 종합하여 모델이 완성하는 방법 활용합니다.
딥러닝의 이점들
비정형 데이터의 효율적인 처리
- 머신러닝도 텍스트 문서와 같은 비정형 데이터를 사용하지만, Training Set이 무한하게 변동될 수 있기 때문에 처리하기가 여간 어려움
- 반면에 딥러닝은 비정형 데이터를 이해하고 수동 특성 추출(feature selection) 없이 신경망을 통해 자동으로 이루어짐
신경망은 서로 다른 입력 문장이 동일한 의미를 갖는다는 것을 인식할 수 있음 - 예를 들어, 결제 방법을 알려주시겠어요? vs 송금은 어떻게 하나요?는 같은 의미라는 것을 인지함
숨겨진 관계 및 패턴 발견
- 딥러닝은 대량의 데이터를 더 심층적으로 분석하고 머신러닝에서 훈련되지 어려운 새로운 인사이트를 발견할 수 있음
- 소비자 구매를 분석하도록 훈련된 딥러닝 모델은 이미 구매한 항목에 대한 데이터만 가지고 다른 유사한 고객의 구매 패턴과 비교하여 구매하지 않은 새 품목을 제안할 수 있음
딥러닝의 비지도 학습
- 딥러닝 모델은 사용자 행동을 기반으로 학습하며 시간이 지남에 따라 개선됨
- 레이블이 지정된 데이터 세트를 크게 변형하지 않아도 됨
- 예를 들어, 입력 패턴을 분석하여 단어를 자동으로 수정하거나 제안하는 신경망의 경우, 단어가 잘못 입력돼도 신경망은 자동으로 단어를 학습해서 수정할 수 있음
휘발성 데이터 처리
- 은행의 대출 상환 금액과 같은 휘발성 데이터 세트에는 변형이 많음
- 딥 러닝은 금융 거래를 분석하고 사기 탐지를 위해 일부에 플래그를 지정하는 등 해당 데이터를 분류하고 정렬하는 작업을 수행함
'딥러닝' 카테고리의 다른 글
텐서(Tensor)의 개념: 텐서플로우 vs 파이토치 vs 케라스 (1) | 2024.01.09 |
---|---|
RNN(순환 신경망)의 역사: LSTM, seq-to-seq, 트랜스포머 (0) | 2024.01.08 |
CNN(합성곱 신경망)의 역사: 왜 CNN인가? (2) | 2024.01.04 |
딥러닝의 암흑기 원인: 기울기 소실(Vanishing Gradient) (2) | 2024.01.03 |
퍼셉트론과 역전파(Back propagation) (0) | 2024.01.02 |