딥 러닝 신경망 머신 러닝 이란
인공 지능의 하위 집합인 딥 러닝은 자율 주행 자동차, 자연어 처리, 이미지 인식 등 다양한 혁신의 중심에 있습니다. DL 솔루션을 제공하는 회사(예: Amazon, Tesla, Salesforce)는 주식 시장의 최전선에 있으며 인상적인 투자를 유치합니다. Statista에 따르면 2014-2019년 전 세계 인공 지능 신생 기업의 총 자금 조달 규모는 260억 달러 이상입니다. 이 높은 관심은 딥 러닝과 그 아키텍처인 인공 신경망의 놀라운 이점으로 설명할 수 있습니다.
딥러닝이란?
딥 러닝은 딥 러닝 알고리즘을 사용하여 입력 데이터를 기반으로 암묵적으로 중요한 결론을 도출하는 기계 학습의 하위 집합 중 하나입니다.
일반적으로 딥 러닝은 감독되지 않거나 반 감독됩니다. 딥 러닝은 표현 학습 을 기반으로 합니다. 작업별 알고리즘을 사용하는 대신 대표적인 사례를 통해 학습합니다. 예를 들어, 고양이를 종별로 인식하는 모델을 구축하려면 다양한 고양이 이미지가 포함된 데이터베이스를 준비해야 합니다.
딥 러닝의 주요 아키텍처는 다음과 같습니다.
컨볼루션 신경망
순환 신경망
생성적 적대 네트워크
재귀 신경망
.
우리는 이 텍스트의 뒷부분에서 그들에 대해 더 자세히 이야기할 것입니다.
머신 러닝과 딥 러닝의 차이점
머신 러닝은 시스템에 로드된 사전 처리된 대규모 데이터 세트에서 새로운 지식을 추출하려고 시도합니다. 프로그래머는 기계에 대한 규칙을 공식화해야 하며 이를 기반으로 학습합니다. 때로는 인간이 오류를 수정하기 위해 개입할 수도 있습니다.
그러나 딥 러닝은 약간 다릅니다.
딥 러닝 | 머신 러닝 |
많은 양의 데이터 | 고품질의 작은 데이터 세트 |
계산량이 많은 | 항상은 아니다 |
원시 데이터에서 정확한 결론 도출 | 신중하게 사전 처리된 데이터 |
훈련하는 데 훨씬 더 오래 걸립니다 | 짧은 시간에 훈련할 수 있다 |
뉴런이 나타내는 특정 기능이 무엇인지 알 수 없습니다. | 기계의 결정 뒤에 있는 논리는 분명합니다. |
예상치 못한 방법으로 사용될 수 있습니다 | 특정 문제를 해결하기 위해 만들어진 알고리즘 |
딥러닝의 장점
이제 DL과 ML의 차이점이 무엇인지 알았으니 딥 러닝의 몇 가지 장점을 살펴보겠습니다.
.
2015년에 Google 엔지니어 그룹은 NN이 분류 작업을 수행하는 방법 에 대한 연구를 수행했습니다. 우연히 그들은 또한 신경망이 환각을 일으키고 다소 흥미로운 예술을 생산할 수 있다는 것도 알아차렸습니다.
,
대량의 원시 데이터에서 패턴과 이상을 식별하는 기능을 통해 딥 러닝은 정확하고 안정적인 분석 결과를 전문가에게 효율적으로 제공할 수 있습니다. 예를 들어, Amazon은 웹사이트에 5억 6천만 개 이상의 항목과 3억 명 이상의 사용자를 보유하고 있습니다. 인간 회계사 또는 회계사 전체가 AI 도구 없이는 많은 거래를 추적할 수 없습니다.
딥 러닝은 전통적인 머신 러닝만큼 인간의 전문 지식에 의존하지 않습니다. DL을 사용하면 개발자가 무엇을 찾으려고 하는지 확실하지 않은 경우에도 데이터에서 발견할 수 있습니다. 예를 들어, 알고리즘이 고객 유지를 예측할 수 있기를 원 하지만 고객의 어떤 특성이 시스템에서 이러한 예측을 가능하게 하는지 확신할 수 없습니다.
딥러닝의 문제
많은 양의 고품질 데이터를 수집하는 데 리소스가 많이 소요됩니다. 수년 동안 가장 크고 가장 잘 준비된 샘플 컬렉션은 1,400만 개의 서로 다른 이미지와 20,000개 이상의 카테고리 가 포함된 ImageNet이었습니다. 2012년에 설립되었으며 작년에야 Tencent 가 더 크고 다재다능한 데이터베이스를 출시했습니다.
.
딥 러닝 기술의 또 다른 어려움은 결론에 대한 이유를 제공할 수 없다는 것입니다. 따라서 출력이 어떠해야 하는지 알지 못하면 모델의 성능을 평가하기가 어렵습니다. 기존 기계 학습과 달리 알고리즘을 테스트하고 시스템이 예를 들어 개가 아니라 사진 속의 고양이라고 결정한 이유를 알 수 없습니다.
딥 러닝 알고리즘을 구축하는 것은 비용이 많이 듭니다. 정교한 수학으로 작업하도록 훈련된 자격을 갖춘 직원 없이는 불가능합니다. 또한 딥 러닝은 리소스 집약적인 기술입니다. 모델을 훈련시키기 위해서는 강력한 GPU와 많은 메모리가 필요합니다. 입력이 네트워크를 통해 전파됨에 따라 입력 데이터, 가중치 매개변수 및 활성화 함수를 저장하려면 많은 메모리가 필요합니다. 때때로 딥 러닝 알고리즘은 전력이 너무 많이 소모되어 연구원들이 예측의 정확성을 희생하기까지 하여 다른 알고리즘을 사용하는 것을 선호합니다.
그러나 많은 경우 딥 러닝을 대체할 수 없습니다.
.
DL을 실생활 문제에 어떻게 적용할 수 있습니까?
오늘날 딥 러닝은 다양한 사용 사례를 위해 다양한 산업에 적용됩니다.
음성 인식. 모든 주요 상용 음성 인식 시스템(예: Microsoft Cortana, Alexa, Google Assistant, Apple Siri)은 딥 러닝을 기반으로 합니다.
패턴 인식. 패턴 인식 시스템은 이미 의료 진단에서 사람의 눈보다 더 정확한 결과를 제공할 수 있습니다.
자연어 처리. 신경망은 2000년대 초반부터 언어 모델을 구현하는 데 사용되었습니다. LSTM의 발명은 기계 번역과 언어 모델링을 개선하는 데 도움이 되었습니다.
신약의 발견. 예를 들어, AtomNet 신경망 은 에볼라 및 다발성 경화증과 같은 질병을 잠재적으로 치료할 수 있는 새로운 생체 분자를 예측하는 데 사용되었습니다.
추천 시스템. 오늘날 딥 러닝은 많은 도메인에서 사용자 선호도를 연구하는 데 사용되고 있습니다. 넷플릭스는 이 분야에서 가장 빛나는 사례 중 하나입니다.
인공 신경망이란 무엇입니까?
"인공 신경망"과 "딥 러닝"은 종종 같은 의미로 사용되지만 실제로는 그렇지 않습니다. 모든 신경망이 "깊은", 즉 "많은 숨겨진 레이어가 있는" 것을 의미하는 것은 아니며 모든 딥 러닝 아키텍처가 신경망인 것은 아닙니다. 예를 들어, 깊은 믿음 네트워크 도 있습니다.
그러나 신경망은 현재 가장 과장된 알고리즘이고 실제로 복잡한 작업을 해결하는 데 매우 유용하기 때문에 이 게시물에서 이에 대해 이야기하겠습니다.
ANN의 정의
인공 신경망은 컴퓨터에서 모델링한 인간 두뇌의 구조를 나타냅니다. 그것은 뉴런과 층으로 구성된 시냅스로 구성됩니다.
ANN은 수백만 개의 뉴런을 하나의 시스템에 연결할 수 있으므로 다양한 정보를 분석하고 기억하는 데 매우 성공적입니다.
인공 신경망이 어떻게 작동하는지에 대한 기술적 세부 사항에 대해 더 깊이 알고 싶은 사람들을 위한 비디오입니다.
신경망의 구성 요소
다양한 유형의 신경망이 있지만 항상 동일한 구성요소(뉴런, 시냅스, 가중치, 편향 및 기능)로 구성됩니다.
뉴런
뉴런 또는 노드는 정보를 수신하고 간단한 계산을 수행하고 더 전달하는 신경망의 기본 단위입니다.
.
네트워크의 모든 뉴런은 세 그룹으로 나뉩니다.
외부 세계로부터 정보를 수신하는 입력 뉴런;
해당 정보를 처리하는 숨겨진 뉴런
결론을 생성하는 출력 뉴런.
많은 뉴런과 이들 사이의 연결이 있는 대규모 신경망에서 뉴런은 계층으로 구성됩니다. 정보를 수신하는 입력 레이어, 여러 개의 은닉 레이어, 가치 있는 결과를 제공하는 출력 레이어가 있습니다. 모든 뉴런은 입력 정보에 대한 변환을 수행합니다.
뉴런은 [0,1] 또는 [-1,1] 범위의 숫자만 작동합니다. 데이터를 뉴런이 사용할 수 있는 것으로 바꾸려면 정규화가 필요합니다. 회귀 분석에 대한 게시물에서 그것이 무엇인지에 대해 이야기했습니다.
잠깐만, 뉴런은 어떻게 통신합니까? 시냅스를 통해.
시냅스와 가중치
시냅스는 전기 케이블처럼 뉴런을 연결하는 것입니다. 모든 시냅스에는 무게가 있습니다. 가중치는 또한 입력 정보의 변경 사항에 추가됩니다. 가중치가 더 큰 뉴런의 결과는 다음 뉴런에서 우세한 반면 '가중치'가 낮은 뉴런의 정보는 전달되지 않습니다. 가중치 행렬이 전체 신경계를 지배한다고 말할 수 있습니다.
어떤 뉴런의 무게가 가장 큰지 어떻게 알 수 있습니까? 초기화(NN의 첫 번째 실행) 동안 가중치가 무작위로 할당되지만 가중치를 최적화해야 합니다.
편견
편향 뉴런을 사용하면 더 많은 가중치 변형을 저장할 수 있습니다. 편향은 모델의 가중치에 입력 공간의 더 풍부한 표현을 추가합니다.
신경망의 경우 모든 계층에 바이어스 뉴런이 추가됩니다. 활성화 함수를 그래프에서 좌우로 움직일 수 있게 하여 중요한 역할을 합니다.
ANN이 바이어스 뉴런 없이 작동할 수 있는 것은 사실입니다. 그러나 그들은 거의 항상 추가되고 전체 모델의 필수 불가결한 부분으로 간주됩니다.
ANN 작동 방식
모든 뉴런은 입력 데이터를 처리하여 특징을 추출합니다. 3개의 기능과 3개의 뉴런이 있고 각각이 이 모든 기능과 연결되어 있다고 상상해 봅시다.
각 뉴런에는 기능에 가중치를 부여하는 데 사용되는 자체 가중치가 있습니다. 네트워크를 훈련하는 동안 전체 네트워크에서 제공하는 출력이 실제와 같도록 각 뉴런에 대해 이러한 가중치를 선택해야 합니다.
변환을 수행하고 출력을 얻기 위해 모든 뉴런에는 활성화 기능이 있습니다. 이 기능 조합은 공통 기능 F로 설명되는 변환을 수행합니다. 이것은 NN의 마법 이면에 있는 공식을 설명합니다.
활성화 기능이 많이 있습니다. 가장 일반적인 것은 선형, S자형 및 쌍곡선 탄젠트입니다. 주요 차이점은 작업하는 값의 범위입니다.
알고리즘을 어떻게 훈련시키나요?
신경망은 다른 알고리즘처럼 훈련됩니다. 일부 결과를 얻고 네트워크에 정보를 제공하여 배울 수 있습니다. 예를 들어, 우리는 신경망이 고양이와 개 사진을 구별하고 많은 예를 제공하기를 원합니다.
델타는 데이터와 신경망 출력 간의 차이입니다. 미적분 마법을 사용하고 델타가 0이 될 때까지 네트워크 가중치를 반복적으로 최적화합니다. 델타가 0이거나 가까우면 모델이 예제 데이터를 올바르게 예측할 수 있습니다.
반복
이것은 신경망이 하나의 훈련 세트를 통과할 때마다 증가하는 일종의 카운터입니다. 즉, 신경망이 완료한 훈련 세트의 총개수입니다.
시대
Epoch는 전체 훈련 세트를 통과할 때마다 증가합니다. Epoch가 많을수록 모델 훈련이 더 잘 됩니다.
일괄
배치 크기는 하나의 정방향/역방향 패스에서 훈련 예제의 수와 같습니다. 배치 크기가 클수록 더 많은 메모리 공간이 필요합니다.
반복과 신기원의 차이점은 무엇입니까?
하나의 에포크는 모든 훈련 예제의 하나의 정방향 패스와 하나의 역방향 패스입니다.
반복 횟수는 패스 수이며, 각 패스는 [배치 크기]의 예를 사용합니다. 분명히 하자면, 하나의 패스는 하나의 포워드 패스 + 하나의 백워드 패스와 같습니다(우리는 포워드 패스와 백워드 패스를 두 개의 다른 패스로 계산하지 않습니다).
그리고 오류는 어떻습니까?
오류는 예상 출력과 수신 출력 간의 불일치를 반영하는 편차입니다. 오류는 모든 에포크 후에 작아야 합니다. 이것이 일어나지 않는다면, 당신은 뭔가 잘못하고 있는 것입니다.
오차는 다양한 방법으로 계산할 수 있지만 Arctan 및 평균 제곱 오차의 두 가지 주요 방법만 고려할 것입니다.
사용할 방법에는 제한이 없으며 최상의 결과를 제공하는 방법을 자유롭게 선택할 수 있습니다. 그러나 각 방법은 서로 다른 방식으로 오류를 계산합니다.
.
Arctan을 사용하면 오류가 거의 항상 더 커집니다.
$\frac{arctan^2(i_1-a_1)+...+arctan^2(i_n-a_n)}{n}$ MSE는 더 균형이 잡혀 있고 더 자주 사용됩니다.
$\frac{(i_1-a_1)^2+(i_2-a_2)^2+...+(i_n-a_n)^2}{n}$
어떤 종류의 신경망이 존재합니까?
신경망이 너무 많아서 모두 언급하는 것은 불가능합니다. 이 다양성에 대해 더 자세히 알고 싶다면 신경망 동물원을 방문하여 모두 그래픽으로 표시되는 것을 볼 수 있습니다.
피드포워드 신경망
이것은 가장 간단한 신경망 알고리즘입니다. 피드포워드 네트워크에는 메모리가 없습니다. 즉, 피드포워드 네트워크에서는 뒤로가기가 없습니다. 많은 작업에서 이 접근 방식은 그다지 적합하지 않습니다. 예를 들어, 우리가 텍스트로 작업할 때 단어는 특정 시퀀스를 형성하고 우리는 기계가 그것을 이해하기를 원합니다.
피드포워드 신경망은 작업하는 데이터가 순차적이거나 시간 종속적이지 않은 경우 지도 학습에 적용될 수 있습니다. 출력이 어떻게 구성되어야 하는지 모르지만 비교적 빠르고 쉬운 NN을 구축하려는 경우에도 사용할 수 있습니다.
순환 신경망
순환 신경망은 이전 반복의 결과를 기억하고 해당 정보를 사용하여 더 나은 결정을 내릴 수 있기 때문에 텍스트, 비디오 또는 이미지 세트를 처리하고 매번 더 정확해질 수 있습니다.
순환 신경망은 자연어 처리 및 음성 인식에 널리 사용됩니다.
컨볼루션 신경망
컨볼루션 신경망 은 오늘날 딥 머신 러닝의 표준이며 대부분의 문제를 해결하는 데 사용됩니다. 컨볼루션 신경망은 피드포워드 또는 순환적일 수 있습니다.
그들이 어떻게 작동하는지 봅시다. 알버트 아인슈타인의 이미지가 있다고 상상해보십시오. 입력 이미지의 모든 픽셀에 뉴런을 할당할 수 있습니다.
그러나 여기에는 큰 문제가 있습니다. 각 뉴런을 모든 픽셀에 연결하면 먼저 많은 가중치를 얻게 됩니다. 따라서 매우 계산 집약적인 작업이 될 것이며 매우 오랜 시간이 걸립니다. 그러면 가중치가 너무 많아 이 방법이 과적합에 매우 불안정할 것입니다. 훈련 예제에서는 모든 것을 잘 예측하지만 다른 이미지에서는 제대로 작동하지 않습니다.
따라서 프로그래머는 각 뉴런이 이미지의 작은 사각형에만 연결되는 다른 아키텍처를 생각해 냈습니다. 이 모든 뉴런은 동일한 가중치를 가지며 이 디자인을 이미지 컨볼루션이라고 합니다. 우리는 그림을 변형하고 프로세스를 단순화하는 필터를 사용하여 걸었다고 말할 수 있습니다. 가중치가 적고 계산이 빠르며 과적합이 덜 발생합니다.
생성적 적대 신경망
생성적 적대 네트워크는 두 개의 신경망이 결합된 비지도 머신 러닝 알고리즘으로, 그중 하나(네트워크 G)는 패턴을 생성하고 다른 하나(네트워크 A)는 실제 샘플과 가짜 샘플을 구별합니다. 네트워크는 샘플을 생성하고 샘플을 거부하는 반대 목표를 가지고 있기 때문에 상당히 효과적인 것으로 판명된 적대적인 게임을 시작합니다.
예를 들어, GAN은 인간의 눈에 자연스러운 이미지 또는 딥페이크 (실제 사람들이 실제 생활에서 한 번도 하지 않은 말과 행동을 하는 비디오)로 인식되는 사진을 생성하는 데 사용됩니다.
NN은 어떤 종류의 문제를 해결합니까?
신경망은 인간의 두뇌와 유사한 분석 계산이 필요한 복잡한 문제를 해결하는 데 사용됩니다. 신경망의 가장 일반적인 용도는 다음과 같습니다.
분류. NN은 매개변수를 암시적으로 분석하여 데이터에 레이블을 지정합니다. 예를 들어 신경망은 연령, 지불 능력, 신용 기록과 같은 은행 고객의 매개변수를 분석하고 대출 여부를 결정할 수 있습니다.
예측. 알고리즘에는 예측 기능이 있습니다. 예를 들어, 주식 시장의 상황에 따라 주식의 상승 또는 하락을 예측할 수 있습니다.
인식. 이것은 현재 신경망의 가장 광범위한 응용 프로그램입니다. 예를 들어 보안 시스템은 얼굴 인식을 사용하여 승인된 사람만 건물에 들어갈 수 있도록 할 수 있습니다.
요약
딥 러닝과 신경망은 인간의 지능과 기술을 확장하는 유용한 기술입니다. 신경망은 딥 러닝 아키텍처의 한 유형일 뿐입니다. 그러나 신경망은 다양한 작업을 효과적으로 해결하고 다른 알고리즘보다 잘 대처할 수 있기 때문에 널리 알려졌습니다.
실생활과 비즈니스에서 머신 러닝을 적용하는 방법에 대해 자세히 알아보려면 다음 블로그를 계속 읽어보세요.
최고의 ML 응용 프로그램에 대한 게시물에서 기계 학습 알고리즘의 가장 놀라운 사용 사례를 발견할 수 있습니다.
댓글