complete guide artificial neural network machine learning
이 자습서에서는 인공 신경망이란 무엇이며 ANN이 어떻게 작동하는지, ANN 및 신경망 아키텍처의 구조 및 유형에 대해 설명합니다.
이것에 모두를위한 머신 러닝 교육 , 우리는 기계 학습의 유형 이전 튜토리얼에서.
이 튜토리얼에서는 머신 러닝과 ANN 간의 비교와 함께 신경망의 다양한 알고리즘에 대해 설명합니다. ANN이 기계 학습에 어떻게 기여하는지 알아보기 전에 인공 신경망이 무엇인지와 기계 학습에 대한 간략한 지식을 알아야합니다.
머신 러닝과 인공 신경망에 대해 자세히 알아 보겠습니다 !!
=> 완전한 기계 학습 교육 시리즈 읽기
학습 내용 :
- 머신 러닝이란?
- 인공 신경망이란 무엇입니까?
- 생물학적 신경망의 구조
- 생물학적 뉴런과 인공 뉴런의 비교
- ANN의 특성
- ANN의 구조
- 활성화 기능
- 인공 뉴런이란?
- 인공 뉴런은 어떻게 작동합니까?
- ANN의 기본 모델
- 신경망 아키텍처
- 인공 뉴런 네트워크의 예
- 기계 학습과 ANN의 비교
- 신경망과 딥 러닝
- 인공 신경망 애플리케이션
- 신경망의 한계
- 결론
- 추천 도서
머신 러닝이란?
기계 학습은 컴퓨터가 명시 적으로 프로그래밍하지 않고도 학습하고 행동 할 수 있도록하는 과학 분야입니다. 인공 지능의 하위 분야입니다.
인공 신경망이란 무엇입니까?
ANN은 기계 학습에 널리 사용되는 비선형 모델이며 인공 지능 분야에서 유망한 미래를 가지고 있습니다.
인공 신경망은 생물학적 신경망과 유사합니다. 생물학적 신경망은 인간 두뇌에있는 수십억 개의 상호 연결된 뉴런의 구조입니다. 인간의 뇌는 수행 된 행동에 대한 반응으로 신체의 다양한 부분에 정보를 보내는 뉴런으로 구성됩니다.
이와 유사하게 인공 신경망 (ANN)은 인간 두뇌의 특성을 닮은 과학 컴퓨팅 네트워크입니다. ANN은 인간 뇌의 원래 뉴런으로 모델링 할 수 있으므로 ANN 처리 부분을 인공 뉴런이라고합니다.
ANN은 뇌의 작용에서 영감을받은 수많은 상호 연결된 뉴런으로 구성됩니다. 이러한 뉴런은 학습 데이터를 학습하고 일반화하며 복잡한 데이터에서 결과를 도출 할 수있는 기능이 있습니다.
이러한 네트워크는 분류 및 예측, 패턴 및 추세 식별, 최적화 문제 등의 영역에서 사용됩니다. ANN은 프로그래밍없이 훈련 데이터 (알려진 입력 및 목표 출력)에서 학습합니다.
학습 된 신경망을 전문가 시스템 정보를 분석하고 특정 분야의 질문에 답할 수있는 능력을 갖추고 있습니다.
Windows 10에서 jar 파일을 실행하는 방법
최초의 신경 컴퓨터를 발명 한 Robert Hecht-Nielson 박사가 제시 한 ANN의 공식 정의는 다음과 같습니다.
'… 외부 입력에 대한 동적 상태 응답으로 정보를 처리하는 여러 개의 단순하고 고도로 상호 연결된 처리 요소로 구성된 컴퓨팅 시스템'.
생물학적 신경망의 구조
생물학적 신경망은 다음으로 구성됩니다.
- 소마 : 이것을 세포체라고도합니다. 세포핵이있는 곳입니다.
- 수상 돌기 : 이들은 세포체에 연결된 나무와 같은 네트워크입니다. 그것은 신경 섬유로 만들어져 있습니다.
- 축삭 : Axon은 세포체에서 신호를 전달합니다. 그것은 가닥으로 갈라지고 각 가닥은 시냅스라고 불리는 전구 모양의 구조로 끝납니다. 전기 신호는 시냅스와 수상 돌기 사이를 통과합니다.
(영상 출처 )
생물학적 뉴런과 인공 뉴런의 비교
생물학적 뉴런 | 인공 뉴런 |
---|---|
ML은 전자 상거래, 의료, 제품 추천 등에 적용됩니다. | ANN은 금융 영역, 기계 학습 및 인공 지능에 적용됩니다. |
그것은 세포로 이루어져 있습니다. | 세포는 뉴런에 해당합니다. |
그것은 세포체 사이의 상호 연결 인 수상 돌기를 가지고 있습니다. | 연결 가중치는 수상 돌기에 해당합니다. |
소마가 입력을받습니다. | 소마는 순 투입 중량과 유사합니다. |
축삭은 신호를받습니다. | ANN의 출력은 축삭에 해당합니다. |
ANN의 특성
- 비선형 성 : 입력 신호 생성을 위해 ANN에서 따르는 메커니즘은 비선형입니다.
- 지도 학습 : 입력 및 출력이 매핑되고 ANN은 교육 데이터 세트로 교육됩니다.
- 비지도 학습 : 목표 출력이 제공되지 않으므로 ANN은 입력 패턴의 특징을 발견하여 스스로 학습합니다.
- 적응성 : ANN 노드의 연결 가중치는 원하는 출력을 제공하기 위해 스스로 조정할 수 있습니다.
- 생물학적 신경 세포 비유 : ANN은 인간의 뇌에서 영감을받은 구조와 기능을 가지고 있습니다.
- 결함 허용: 이러한 네트워크는 정보가 계층으로 분산되고 계산이 실시간으로 발생하므로 관용성이 높습니다.
ANN의 구조
인공 신경망은 인간 뇌 대뇌 피질의 신경 구조를 모델로 한 알고리즘 또는 하드웨어 장치 형태의 처리 요소입니다.
이러한 네트워크는 단순히 신경망이라고도합니다. NN은 많은 레이어로 구성됩니다. 상호 연결된 여러 레이어를 종종 'Multilayer Perceptron'이라고합니다. 한 계층의 뉴런을 '노드'라고합니다. 이러한 노드에는 '활성화 기능'이 있습니다.
ANN에는 3 개의 주요 계층이 있습니다.
- 입력 레이어 : 입력 패턴은 입력 레이어에 공급됩니다. 하나의 입력 레이어가 있습니다.
- 숨겨진 레이어 : 숨겨진 레이어가 하나 이상있을 수 있습니다. 내부 레이어에서 발생하는 처리를 '숨겨진 레이어'라고합니다. 히든 레이어는“가중 시냅스 연결의 합”인“가중치”를 기반으로 출력을 계산합니다. 히든 레이어는 중복 정보를 제거하여 입력을 구체화하고 추가 처리를 위해 다음 히든 레이어로 정보를 보냅니다.
- 출력 레이어 : 이 숨겨진 계층은 출력이 표시되는 '출력 계층'에 연결됩니다.
활성화 기능
활성화 함수는 뉴런의 내부 상태입니다. 뉴런이받는 입력의 함수입니다. 활성화 기능은 ANN 노드의 입력 신호를 출력 신호로 변환하는 데 사용됩니다.
인공 뉴런이란?
인공 신경망은 노드 또는 뉴런이라고하는 고도로 상호 연결된 처리 요소로 구성됩니다.
이 뉴런은 병렬로 작동하며 아키텍처로 구성됩니다. 노드는 연결 링크로 서로 연결됩니다. 각 뉴런은 입력 신호에 대한 정보가 포함 된 가중치를 전달합니다.
인공 뉴런은 어떻게 작동합니까?
인공 뉴런이 입력을받습니다. 이러한 입력에는 'synapse'라는 가중치가 있습니다. 이러한 뉴런 (노드라고도 함)에는 '활성화 기능'이 있습니다. 이 활성화 함수는 입력에 대해 작동하고 출력을 제공하기 위해 처리합니다.
입력의 가중 합은 하나의 출력을 제공하는 활성화 함수에 대한 입력 신호가됩니다. 이러한 입력 가중치는 조정 가능하므로 신경망이 매개 변수를 조정하여 원하는 출력을 제공 할 수 있습니다.
인공 신경망에서 사용되는 몇 가지 일반적인 활성화 기능은 다음과 같습니다.
# 1) 식별 기능
x의 모든 값에 대해 f (x) = x로 정의 할 수 있습니다. 이것은 출력이 입력과 동일한 선형 함수입니다.
# 2) 이진 단계 함수
이 함수는 순 입력을 출력으로 변환하기 위해 단일 계층 네트워크에서 사용됩니다. 출력은 2 진수 즉, 0 또는 1입니다. t는 임계 값을 나타냅니다.
(영상 출처 )
# 3) 바이폴라 스텝 함수
바이폴라 스텝 기능에는 순 입력에 대한 바이폴라 출력 (+1 또는 -1)이 있습니다. T는 임계 값을 나타냅니다.
# 4) 시그 모이 드 함수
역 전파 네트워크에서 사용됩니다.
두 가지 유형이 있습니다.
- 이진 시그 모이 드 함수 : 단극 시그 모이 드 함수 또는 로지스틱 시그 모이 드 함수라고도합니다. S 자형 함수의 범위는 0 ~ 1입니다.
- 양극성 시그 모이 드 : 양극성 시그 모이 드 함수의 범위는 -1에서 +1까지입니다. 쌍곡 탄젠트 함수와 유사합니다.
(영상 출처 )
# 5) 램프 기능
그만큼 입력의 가중 합계 모든 입력에 대해 합산 된 '입력 가중치와 입력 값의 곱'을 의미합니다.
I = {I1, I2, I3… In}을 뉴런에 대한 입력 패턴이라고합시다.
W = {W1, W2, W3… Wn}을 노드에 대한 각 입력과 관련된 가중치라고합니다.
입력의 가중 합계 = Y = (? Wi * Ii) for i = 1 ~ n
ANN의 기본 모델
인공 신경망 모델은 3 개의 엔티티로 구성됩니다.
- 가중치 또는 시냅스 연결
- 가중치 조정에 사용되는 학습 규칙
- 뉴런의 활성화 기능
신경망 아키텍처
ANN에서 뉴런은 상호 연결되고 각 뉴런의 출력은 가중치를 통해 다음 뉴런에 연결됩니다. 이러한 상호 연결의 아키텍처는 ANN에서 중요합니다. 이 배열은 계층의 형태이며 계층 간의 연결과 계층 내에서 신경망 아키텍처가 있습니다.
가장 일반적으로 알려진 네트워크 아키텍처는 다음과 같습니다.
- 단일 레이어 피드 포워드 네트워크
- 다층 피드 포워드 네트워크
- 자체 피드백이있는 단일 노드
- 단일 레이어 반복 네트워크
- 다층 순환 네트워크
각각에 대해 자세히 살펴 보겠습니다.
# 1) 단일 레이어 피드 포워드 네트워크
레이어는 뉴런으로 구성된 네트워크입니다. 이 뉴런은 다음 층의 다른 뉴런에 연결됩니다. 단일 레이어의 경우 입력 및 출력 레이어 만 있습니다. 입력 계층은 가중치가있는 출력 계층 노드에 연결됩니다.
모든 입력 노드는 각 출력 노드에 연결됩니다. 피드 포워드라는 용어는 출력 레이어에서 입력 레이어로 전송 된 피드백이 없음을 나타냅니다. 이것은 단일 레이어 피드 포워드 네트워크를 형성합니다.
(영상 출처 )
C ++로 무엇을 만들 수 있습니까?
# 2) 다층 피드 포워드 네트워크
다중 계층 네트워크는 입력과 출력 사이에 하나 이상의 계층으로 구성됩니다. 입력 계층은 신호를 수신하고이를 버퍼링하고 출력 계층은 출력을 표시합니다. 입력과 출력 사이의 레이어를 히든 레이어라고합니다.
숨겨진 레이어는 외부 환경과 접촉하지 않습니다. 히든 레이어 수가 많을수록 출력 응답이 더 효율적입니다. 이전 계층의 노드는 다음 계층의 각 노드에 연결됩니다.
입력 또는 히든 레이어에 연결된 출력 레이어가 없기 때문에 다중 레이어 피드 포워드 네트워크를 형성합니다.
# 3) 자체 피드백이있는 단일 노드
출력 레이어 출력이 입력 레이어 또는 다른 숨겨진 레이어에 대한 입력으로 다시 전송되는 네트워크를 피드백 네트워크라고합니다. 단일 노드 피드백 시스템에는 출력이 피드백으로 다시 리디렉션되는 단일 입력 레이어가 있습니다.
# 4) 단일 레이어 순환 네트워크
단일 계층 반복 네트워크에서 피드백 네트워크는 폐쇄 루프를 형성합니다. 이 모델에서 단일 뉴런은 자신이나 네트워크의 다른 뉴런 또는 둘 다에 피드백을받습니다.
# 5) 다층 순환 네트워크
Multi-Layer recurrent network에는 여러 개의 은닉 계층이 존재하며 출력은 이전 계층의 뉴런과 동일한 계층 또는 동일한 뉴런 자체의 다른 뉴런으로 다시 리디렉션됩니다.
인공 뉴런 네트워크의 예
주어진 입력으로 아래 네트워크를 가져와 순 입력 뉴런을 계산하고 활성화 함수가있는 뉴런 Y의 출력을 이진 시그 모이 드로 구해 봅시다.
입력에는 3 개의 뉴런 X1, X2 및 X3과 단일 출력 Y가 있습니다.
입력과 관련된 가중치는 다음과 같습니다. {0.2, 0.1, -0.3}
입력 = {0.3, 0.5, 0.6}
순 입력 = {x1 * w1 + x2 * w2 + x3 * w3}
순 입력 = (0.3 * 0.2) + (0.5 * 0.1) + (0.6 * -0.3)
순 입력 = -0.07
이진 시그 모이 드에 대한 출력 :
X는 -0.07입니다.
출력은 0.517로 나옵니다.
기계 학습과 ANN의 비교
기계 학습 | 인공 신경망 |
---|---|
기계 학습은 입력 데이터에서 학습하고 관심있는 출력 데이터 패턴을 발견합니다. | ANN은 기계 학습 알고리즘에서 시냅스, 노드 및 연결 링크를 사용하여 시스템을 훈련시키는 데 사용됩니다. |
ML은 인공 지능 분야의 하위 집합입니다. | ANN은 또한 인공 지능 과학 분야의 일부이자 기계 학습의 하위 집합입니다. |
ML 알고리즘은 의사 결정 목적으로 알고리즘에 제공된 데이터에서 학습합니다. 이러한 알고리즘 중 일부는 분류입니다. 클러스터링, 연관 데이터 마이닝. | ANN은 인간처럼 논리적 구조로 데이터를 분석하는 딥 러닝 과학입니다. TheANN 학습 계획 중 일부는 Hebbian, Perceptron, Back propagation 등입니다. |
ML 알고리즘에는자가 학습 기능이 있지만 결과가 정확하지 않은 경우 사람의 개입이 필요합니다. | ANN 알고리즘에는 결과가 잘못되었을 경우 연결 가중치를 사용하여 스스로 조정할 수있는 기능이 있습니다. |
ML 알고리즘에는 프로그래밍 기술, 데이터 구조 및 빅 데이터 데이터베이스 지식이 필요합니다. | ANN은 또한 수학, 확률, 데이터 구조 등에 대한 강력한 기술을 필요로합니다. |
ML 프로그램은 학습 된 데이터 세트의 결과를 예측하고 새로운 데이터에 맞게 조정할 수 있습니다. | ANN은 새로운 데이터에 대해 스스로 학습하고 지능적인 결정을 내릴 수 있지만 머신 러닝보다 더 깊습니다. |
감독 및 비지도 학습은 기계 학습에 속합니다. | Kohenen, 방사형 편향, 피드 포워드 신경망과 같은 학습은 ANN에 속합니다. |
ML의 몇 가지 예는 Google 검색 결과 등입니다. | ANN의 몇 가지 예는 얼굴 인식, 이미지 인식 등입니다. |
신경망과 딥 러닝
딥 러닝 네트워크에는 입력과 출력 사이에 여러 숨겨진 계층이 있습니다. 이러한 네트워크는 숨겨진 레이어의 깊이로 구별됩니다. 입력 데이터는 출력이 표시되기 전에 여러 단계를 거칩니다.
이러한 네트워크는 단일 은닉 계층이 있고 Shallow Networks라고 불리는 퍼셉트론과 같은 이전 NN과 다릅니다. 딥 러닝 네트워크의 각 숨겨진 계층은 이전 계층의 출력을 기반으로 특정 기능으로 데이터를 훈련시킵니다.
데이터는 노드에서 여러 계층의 비선형 함수를 통과합니다. 레이어 수가 많을수록 다음 레이어가 이전 레이어의 피처 집계를 수행하므로 더 복잡한 피처를 인식 할 수 있습니다.
네트워크의 여러 숨겨진 레이어는 복잡성과 추상화를 증가시킵니다. 이 깊이는 기능 계층 구조라고도합니다. 이로 인해 딥 러닝 네트워크는 고차원 데이터를 처리 할 수 있습니다.
딥 러닝 네트워크의 몇 가지 예에는 특성 및 유사성에 따라 수백만 개의 이미지 클러스터링, 이메일 메시지 필터링, CRM의 메시지에 필터 적용, 음성 식별 등이 포함됩니다.
딥 러닝 네트워크는 레이블이 지정된 데이터 세트와 레이블이없는 데이터 세트 모두에서 훈련 될 수 있습니다. 레이블이 지정되지 않은 데이터 세트의 경우 Boltzmann 선택 기계와 같은 네트워크가 자동 특징 추출을 수행합니다.
네트워크는 샘플링을 통해 입력을 분석하고 출력 및 입력 분포의 차이를 최소화하여 자동으로 학습합니다. 여기서 신경망은 기능과 결과 간의 상관 관계를 찾습니다.
레이블이 지정된 데이터에 대해 훈련 된 딥 러닝 네트워크는 구조화되지 않은 데이터에 적용 할 수 있습니다. 훈련 데이터가 네트워크에 더 많이 공급 될수록 더 정확 해집니다.
레이블이 지정되지 않은 데이터에서 학습하는 네트워크의 능력은 다른 학습 알고리즘에 비해 장점입니다.
인공 신경망 애플리케이션
신경망은 아래와 같이 다양한 솔루션에서 성공적으로 사용되었습니다.
# 1) 패턴 인식 : ANN은 패턴 인식, 이미지 인식, 이미지 시각화, 필기, 음성 및 기타 이러한 작업에 사용됩니다.
# 2) 최적화 문제 : 최단 경로 찾기, 문제 제약 조건을 충족하고 최적의 솔루션을 달성해야하는 제조 및 제조와 같은 문제는 NN을 사용합니다.
# 3) 예측 : NN은 과거 동향을 분석하여 상황에 대한 결과를 예측할 수 있습니다. 은행, 주식 시장, 일기 예보와 같은 애플리케이션은 신경망을 사용합니다.
# 4) 제어 시스템 : 컴퓨터 제품, 화학 제품 및 로봇 공학과 같은 제어 시스템은 신경망을 사용합니다.
신경망의 한계
아래 나열된 것은 신경망의 몇 가지 단점입니다.
- 이러한 네트워크는 사용자에게 입력을 제공하고 출력을 관찰하는 것 외에는 역할이 없기 때문에 사용자를위한 블랙 박스입니다. 사용자는 알고리즘에서 일어나는 훈련을 알지 못합니다.
- 이러한 알고리즘은 다소 느리고 정확한 결과를 제공하기 위해 많은 반복 (Epoch라고도 함)이 필요합니다. CPU가 각 노드의 가중치, 활성화 기능을 별도로 계산하여 시간과 자원을 소비하기 때문입니다. 또한 많은 양의 데이터로 인해 문제가 발생합니다.
결론
이 튜토리얼에서 우리는 인공 신경망에 대해 배웠습니다. 인공 신경망은 생물학적 신경과 유사하며 신경망의 유형입니다.
ANN은 기계 학습에 속합니다. 여러 뉴런 노드로 구성된 계산 모델입니다. 이 노드는 입력을 받고 활성화 함수를 사용하여 입력을 처리하고 출력을 다음 레이어로 전달합니다.
입력은 시냅스라고하는 연결 링크 가중치와 연관됩니다. 기본 ANN은 입력 레이어, 가중치, 활성화 함수, 숨겨진 레이어 및 출력 레이어로 구성됩니다.
활성화 함수는 입력을 출력으로 변환하는 데 사용됩니다. 그들 중 일부는 이진, 양극, 시그 모이 드 및 램프 함수입니다. 은닉 레이어 수와 피드백 메커니즘에 따라 Single-Layer Feed Forward, Multilayer Feed Forward, Recurrent networks 등과 같은 다양한 유형의 ANN이 있습니다.
입력과 출력 사이에 숨겨진 레이어가 많은 ANN은 딥 러닝 네트워크를 형성합니다. 딥 러닝 네트워크는 복잡성과 추상화 수준이 높아 수천 개의 매개 변수로 고차원 데이터를 계산할 수 있습니다.
ANN은 예측, 이미지 처리, 제어 시스템 등의 분야에서 사용됩니다. 이들은 과학의 다양한 문제에 대한 해결책으로 성공적으로 적용되었습니다.
이 튜토리얼이 인공 신경망에 대해 알아야 할 모든 것을 설명했기를 바랍니다 !!
=> 독점적 인 기계 학습 시리즈를 보려면 여기를 방문하십시오