이전 블로그 포스팅에서 머신러닝과 딥러닝의 차이에 대해서 간략하게 알아보았습니다.
이번 포스팅에서는 딥 러닝에 대해서 조금 더 깊게 알아가 보도록 하겠습니다.
딥러닝이란 인공지능 기술 속 기계학습 기술 중 하나입니다. 인간의 손을 사용하지 않고 컴퓨터가 자동으로 대량의 데이터 속에서 원하는 특징을 발견하는 기술을 가리킵니다.
이 글에서는 딥러닝의 의미와 활용 방법, 도입 방법 등에 대해 알기 쉽게 해설하려고 합니다. 딥러닝을 이용하여 보다 업무를 개선하고자 하는 경우 참고하시기 바랍니다.
딥러닝이란?
딥러닝이란 컴퓨터가 자동으로 대량의 데이터를 분석해 데이터의 특징을 추출하는 기술입니다. 심층 학습 또는 DL이라고 불리기도 합니다. 인공지능 기술 중에는 머신러닝이 포함되어 있으며, 딥러닝은 머신러닝 중 하나입니다. 딥뉴럴네트워크(DNN)를 이용한 학습으로 충분한 데이터량이 있으면 인간의 힘이 없어도 데이터에서 특징을 추출할 수 있습니다.
DNN은 패턴 인식을 하도록 설계된 신경망(NN)을 기반으로 합니다. 이는 인간과 동물의 뇌신경 회로(뉴런)를 본떠 만든 알고리즘입니다.
딥러닝의 특징(구조)
딥러닝은 머신러닝 기술의 일부이지 별개의 것은 아닙니다. 신경망(NN)의 중간층이 여러 개로 되어 있기 때문에 딥(다층) 러닝이라고 불립니다. 다층화를 통해 데이터의 특징을 더욱 깊이 있게 학습할 수 있습니다.
보통 NN에서는 중간층이 2~3층 정도인데 DNN에서는 더 많은 층을 갖게 됩니다. 다층이 됨으로써 정보 전달과 처리를 늘릴 수 있고, 정보량을 컴퓨터가 판단할 수 있게 됩니다. 이를 통해 많은 데이터가 있으면 기존 머신러닝에서는 어려웠던 복잡하고 다루기 힘든 데이터 처리가 가능해져 분석 정확도가 향상되는 것입니다.
신경망이란?
신경망은 인간이나 동물의 뇌 신경 회로인 뉴런을 모델로 하여 만들어지고 있습니다. 입력층, 중간층, 출력층으로 구성되어 있어, 이것들을 이어 붙여 정보 처리나 전달을 실시합니다. 딥 러닝을 이해하는 데 있어 신경망을 이해하는 것은 필수적입니다.
딥러닝에서 중요한 것
딥러닝에서 중요한 것은 두 가지가 있습니다. 어떤 포인트인지 구체적으로 소개해 드릴게요.
대량의 데이터가 필요
딥러닝에서는 라벨링 된 데이터가 많이 필요하기 때문에 충분한 양의 데이터를 확보할 수 있느냐가 핵심입니다. 예를 들어 자율주행할 수 있는 자동차를 개발하기 위해서는 다양한 종류의 정지 화면이 무려 수백만 장, 운전 중인 동영상이 수천 시간 분량이나 필요하다고 합니다.
고도의 컴퓨터 처리 능력
고도의 컴퓨터 처리 능력도 빼놓을 수 없습니다. 딥 러닝에서는 방대한 양의 데이터를 비교하여 학습합니다. 따라서 병렬 해석을 할 수 있는 고성능 GPU가 필요합니다. 고성능 GPU는 병렬 구성이 많기 때문에 딥러닝을 원활하게 할 수 있습니다. 또, GPU와 클라우드 등을 조합해, 한층 더 학습 시간을 짧게 하는 것도 가능합니다.
딥러닝의 역사
인공지능은 지금까지 두 번의 붐이 있었고, 2013년부터는 세 번째 붐이라고 알려져 있습니다. 그 붐의 불쏘시개가 딥러닝입니다. 2016년 인공지능 바둑 프로그램 '알파고'가 바둑 챔피언에 승리하는 쾌거를 달성했습니다. 지금까지의 머신러닝에는 도저히 무리였던 쾌거를 이뤄냄에 따라 딥러닝은 단번에 주목을 받은 것입니다.
프로그래밍이 필요 없는 딥 러닝 툴
지금까지 딥러닝을 이용하기 위해서는 프로그래밍 등의 전문 지식이 필요했습니다. 그러나 코드를 쓰지 않고 조작할 수 있는 GUI 툴(Graphical User Interface)도 보급되고 있습니다. 프로그래밍 언어 등의 기술이 필요 없기 때문에, 비교적 간단하게 조작할 수 있는 것이 특징입니다. 딥러닝의 중요성이 커지면서 누구나 사용할 수 있는 시대가 되고 있습니다.
딥 러닝(알고리즘의) 종류
머신러닝이란, 딥 뉴럴 네트워크(DNN)를 이용한 학습이라고 전술했습니다. 그러나, 이용하는 알고리즘은 1종류뿐만이 아닙니다. 여러 종류가 있고 각자 잘하는 분야가 다릅니다. 그렇기 때문에 딥러닝을 업무에 도입할 경우에는 어떤 알고리즘을 사용하는 것이 적절한지 잘 검토해야 합니다.
합성 신경 네트워크(CNN)
컨볼루션 뉴럴 네트워크는 Convolutional Neural Network를 말하며, 그 앞 글자를 따서 CNN이라고도 줄여집니다. 화상 인식에 적합한 계산 방법으로, CNN을 이용하는 것에 의해 화상 특징 정보를 잃는 일 없이 그대로 2 차원으로 처리할 수 있습니다.
재귀형 신경망(RNN)
재귀형 신경망은 Recurrent Neural Network를 말하며 RNN이라고도 합니다. 시계열 정보를 다루기에 적합한 알고리즘입니다. 시계열 데이터를 그대로 입력할 수 있기 때문에 시간의 경과에 따라 변화해 가는 데이터를 취급하는 경우에는 편리합니다.
오토 인코더(자기 부호화기)
오토 인코더는 신경망을 이용하여 데이터를 추상화하는 것입니다. 데이터 추상화란 차원 삭제를 말합니다. 차원 삭제에서는 중요한 데이터를 추출하고 그 이외를 삭제함으로써 데이터양을 줄입니다.
적대적 생성 네트워크(GAN)
적대적 생성 네트워크란 Generative Adversarial Network를 말하며 GAN이라고 줄여집니다. 이미지 분야에 적합한 알고리즘으로 준비된 데이터에서 특징을 학습하여 유사한 데이터를 생성합니다. 가짜를 만들어 내고, 그것을 간파하게 하는 것을 반복하는 것에 의해, 정확도가 오르는 것입니다.
'인공지능 (AI)' 카테고리의 다른 글
통계학적 데이터 분석과 머신러닝의 차이 1 (0) | 2024.12.16 |
---|---|
딥러닝 학습 방법과 종류, 활용 방법, 도입 사례 (4) | 2024.12.13 |
인공지능(AI) 개발 비용 요소, 개발 외주, 성공 요소 (2) | 2024.12.12 |
인공지능(AI) 개발 과정 (프로세스 및 일반 개발과의 차이) (2) | 2024.12.12 |
인공지능(4차 산업혁명)으로 인해 미래에 사라질 업무능력과 직업 (8) | 2024.12.10 |