google.com, pub-9850333530125189, DIRECT, f08c47fec0942fa0 딥 러닝 알고리즘 소개
본문 바로가기
카테고리 없음

딥 러닝 알고리즘 소개

by ╰(*°▽°*)╯(¬_¬ ) 2022. 2. 26.
반응형

딥 러닝 알고리즘 소개

딥 러닝 알고리즘은 신경망에서 여러 계층의 뉴런으로 구성된 모델을 개발하는 데 사용됩니다. 이러한 각 데이터는 다음 계층에 대한 데이터를 나타냅니다. 이미지 데이터처럼 구조화되지 않은 대부분의 데이터 세트에는 수백만 개의 기능이 있을 수 있습니다. 이 엄청난 수의 기능으로 인해 기계 학습 알고리즘을 사용하는 것이 불가능해집니다. 딥 러닝 알고리즘은 신경망의 각 계층에서 이동하는 동안 이러한 유형의 데이터에 대해 점진적으로 더 많이 학습할 수 있습니다.

딥 러닝 알고리즘

딥 러닝 모델을 만들려면 여러 알고리즘을 작성하고 함께 혼합하고 뉴런 네트워크를 만들어야 합니다. 딥 러닝은 계산 비용이 많이 듭니다. 딥 러닝 모델을 지원하기 위해 Tensor Flow, Py-Torch, Chainer, Keras 등과 같은 딥 러닝 플랫폼이 있습니다. 딥 러닝에서는 인간 신경망을 인공 신경망으로 복제하려고 했습니다. 인간의 뉴런은 딥 러닝 모델에서 퍼셉트론이라고 합니다. 이러한 퍼셉트론 단위를 함께 연결하여 신경망을 만듭니다. 3개의 섹션이 있습니다.

1, 입력 레이어

2, 숨겨진 레이어

3, 출력 레이어

퍼셉트론은 입력 노드(인간 뇌의 수상돌기), 작은 결정을 내리는 작동 기능 및 출력 노드(인간 뇌의 축삭)를 가지고 있습니다. 하나의 퍼셉트론이 어떻게 작동하는지 볼 것입니다. 그것들을 함께 연결하면 딥 러닝 모델이 생성됩니다. 입력 정보(입력 변수/기능의 수)에는 일부 가중치가 할당되고 작동 기능에 제공됩니다. 작동 기능은 결정을 내리고 출력을 보냅니다. 이 퍼셉트론의 출력은 다른 뉴런에 입력됩니다. 배치가 처리되면 비용 함수/교차 엔트로피의 도움으로 각 뉴런에서 역전파 오류가 계산됩니다. 이러한 방식으로 입력 가중치가 재 할당되고 교차 엔트로피가 조건을 만족할 때까지 전체 프로세스가 계속됩니다.

작은 결정을 내리기 위해 Sigmoid 함수, 쌍곡선 탄젠트 함수, ReLU(Rectified Linear Unit)와 같은 다양한 작동 함수가 있습니다. 딥 러닝 모델 은 좋은 모델을 구축하기 위해 방대한 양의 데이터가 필요합니다. 일반적으로 3개 이상의 은닉층이 있는 모델은 심층 신경망으로 취급됩니다. 기본적으로 딥 러닝은 각 계층에 대해 정의된 여러 매개변수가 있는 뉴런 집합입니다. Deep Learning 모델을 생성하기 위해 널리 사용되는 아키텍처는 RNN, CNN 등입니다.

딥 러닝 알고리즘을 위한 아키텍처 방법

이 아키텍처를 구축하기 위해 다음 알고리즘이 사용됩니다.

역전파

이 알고리즘에서는 편도함수를 계산합니다. 일반적으로 최적화를 위한 경사 하강법(gradient descent method)은 각 반복에서 도함수(gradients)를 계산합니다. 딥 러닝에서 기능은 단순하지 않습니다. 그들은 다른 기능의 구성입니다. 이 경우 기울기를 계산하기 어렵기 때문에 도함수를 계산하기 위해 근사 미분을 사용합니다. 매개변수의 수가 많을수록 근사 미분 비용이 더 많이 듭니다.

확률적 경사하강법

경사 하강법에서 목표는 전역 최솟값 또는 최적 솔루션을 찾는 것입니다. 그러나 그것을 얻으려면 로컬 최소 솔루션(바람직하지 않음)도 고려해야 합니다. 목적 함수가 볼록 함수이면 전역 최솟값을 쉽게 찾을 수 있습니다. 함수의 초기값과 학습률은 전역 최소값을 찾기 위한 매개변수를 결정합니다. 이것은 산 정상에서 하천을 고려하고 산기슭(전역 최소값)을 검색하면 쉽게 이해할 수 있습니다. 그러나 그 과정에서 반드시 피해야 하는 일부 기복(로컬 최소값)이 있을 것입니다. 강의 발원점과 속도(우리의 경우 초기 값 및 학습률)는 전역 최소값을 찾는 데 결정적인 요소입니다.

학습률

학습 속도는 강의 속도와 같습니다. 훈련 시간을 줄이고 성과를 높일 수 있습니다. 일반적으로 어떤 테크닉이나 스포츠를 배우기 위해서는 처음에 마스터할 때보다 후반부에 비해 학습률이 상대적으로 높습니다. 중급 단계 이후에는 학습이 느릴 것입니다. 초점은 미세 조정에 있을 것입니다. 딥 러닝에도 동일하게 적용됩니다. 너무 큰 변경은 학습률을 높이고 나중에 미세 조정을 위해 학습률을 천천히 낮추는 방식으로 처리됩니다.

일괄 정규화

딥 러닝 초기 가중치(무작위 선택)와 학습에서 비율은 미니 배치에 대해 정의됩니다. 처음에는 많은 이상 값이 있을 것이고 역전파 동안 이러한 이상 값은 출력을 얻기 위해 가중치를 계산하기 위해 보상되어야 합니다. 이 보상으로 인해 추가 에포크가 발생합니다. 이를 피하기 위해 배치 정규화를 사용합니다.

탈락

딥 러닝에서는 일반적으로 과적합 문제에 직면합니다. 여러 매개변수가 있는 대규모 네트워크에서 과적 합하면 테스트 데이터를 예측하기 어렵습니다. 따라서 이를 피하기 위해 다른 '얇은 네트워크'를 생성하여 훈련 중에 임의의 단위를 삭제하는 드롭아웃 방법을 사용합니다. 이러한 얇아진 네트워크를 테스트할 때 예측이 평균화되어 과적합을 방지하는 데 도움이 됩니다.

단어 가방

다음 단어를 예측하기 위해 연속 단어 모음을 사용합니다. 예를 들어 이메일에서 문장을 완성하기 위한 자동 제안이 NLP의 일부인 것을 볼 수 있습니다. 이것은 많은 문장과 캡처된 단어를 둘러싼 특정 단어를 고려하여 수행됩니다. 이러한 특정 단어와 주변 단어는 신경망에 제공됩니다. 학습 모델 이후에는 주변 단어를 기반으로 특정 단어를 예측할 수 있습니다.

장기 단기 기억

LSTM은 언어 번역, 매출 예측, 주가 찾기와 같은 시퀀스 예측 문제에 매우 유용합니다. LSTM은 이전 데이터를 고려할 수 있기 때문에 다른 기술보다 우위에 있습니다. LSTM은 셀 상태 메커니즘에 의해 수정됩니다. 그것은 일을 잊어 기억합니다. LSTM의 3가지 주요 측면은 다른 딥 러닝 기술과 차별화됩니다. 첫 번째는 뉴런이 입력을 받아야 할 때이고, 두 번째는 이전 데이터를 기억하고 무엇을 잊어야 하는지, 세 번째는 출력을 전달할 때입니다.

결론

딥 러닝 모델은 인간의 마음을 복제하는 단계입니다. 딥 러닝은 생물학적 뉴런 대신 인공 신경망을 사용합니다. 딥 러닝은 계산 비용이 높기 때문에 Tensor Flow 및 Py-Torch와 같은 딥 러닝 프레임워크를 사용하여 줄일 수 있습니다. RNN, CNN은 딥 러닝 모델을 위한 아키텍처 방법입니다. 이 문서에서는 이러한 아키텍처에 사용되는 다양한 딥 러닝 알고리즘에 대해 설명합니다.

댓글