>기술 주변기기 >일체 포함 >오토인코더의 학습 방법 이해: 아키텍처 탐색부터 시작

오토인코더의 학습 방법 이해: 아키텍처 탐색부터 시작

WBOY
WBOY앞으로
2024-01-24 15:36:05719검색

노이즈 데이터는 머신러닝의 일반적인 문제 중 하나이며, 오토인코더는 이러한 문제를 해결하는 효과적인 방법입니다. 이번 글에서는 오토인코더의 구조와 올바른 훈련 방법을 소개하겠습니다.

오토인코더는 데이터 인코딩을 학습하는 데 사용되는 비지도 학습 인공 신경망입니다. 그 목표는 네트워크를 훈련하여 입력 이미지의 주요 특징을 포착하고 이를 차원 축소 처리에 자주 사용되는 저차원 표현으로 변환하는 것입니다.

오토인코더의 아키텍처

오토인코더는 세 부분으로 구성됩니다.

1 인코더: 훈련-검증-테스트 세트 입력 데이터를 일반적으로 입력보다 큰 인코딩된 표현으로 압축하는 모듈입니다. 데이터 몇 배 더 작습니다.

2. 병목 현상: 압축된 지식 표현이 포함된 모듈이므로 네트워크에서 가장 중요한 부분입니다.

3. 디코더: 네트워크가 지식 표현을 "압축해제"하고 인코딩된 형식에서 데이터를 재구성하는 데 도움이 되는 모듈입니다. 그런 다음 출력은 실제와 비교됩니다.

전체 아키텍처는 아래와 같습니다.

오토인코더의 학습 방법 이해: 아키텍처 탐색부터 시작

인코더, 병목 현상 및 디코더 간의 관계

Encoder

인코더는 풀링화 모듈이 뒤따르는 컨벌루션 블록 세트입니다. 모델의 입력을 병목 현상이라는 작은 부분으로 압축합니다.

병목 현상 이후에는 압축된 기능을 이미지 형식으로 복원하는 일련의 업샘플링 모듈로 구성된 디코더가 있습니다. 단순 오토인코더의 경우 출력은 잡음이 감소된 입력과 동일할 것으로 예상됩니다.

그러나 변형 오토인코더의 경우 모델이 입력으로 제공한 정보를 바탕으로 형성된 완전히 새로운 이미지입니다.

Bottleneck

신경망의 가장 중요한 부분으로 인코더에서 디코더로의 정보 흐름을 제한하여 가장 중요한 정보만 전달되도록 합니다.

병목 현상은 이미지가 보유한 특징 정보를 캡처하도록 설계되었으므로 병목 현상이 입력의 지식 표현을 형성하는 데 도움이 된다고 말할 수 있습니다. 인코더-디코더 구조는 이미지에서 데이터 형태로 더 많은 정보를 추출하고 네트워크의 다양한 입력 간에 유용한 상관관계를 설정하는 데 도움이 됩니다.

입력 압축 표현의 병목 현상은 신경망이 입력을 기억하고 데이터를 과적합하는 것을 더욱 방지합니다. 병목 현상이 작을수록 과적합 위험이 낮아집니다. 그러나 매우 작은 병목 현상으로 인해 저장할 수 있는 정보의 양이 제한되어 중요한 정보가 인코더의 풀링 레이어에서 누출될 가능성이 높아집니다.

Decoder

마지막으로 디코더는 병목 현상의 출력을 재구성하는 데 사용되는 업샘플링 및 컨벌루션 블록 세트입니다.

디코더에 대한 입력은 압축된 지식 표현이므로 디코더는 "압축 해제기" 역할을 하며 잠재 속성에서 이미지를 재구성합니다.

오토인코더의 결과와 관계를 이해한 후, 오토인코더를 올바르게 학습시키는 방법을 살펴보겠습니다.

오토인코더를 훈련하는 방법은 무엇입니까?

오토인코더를 훈련하기 전에 설정해야 하는 4개의 하이퍼파라미터가 있습니다:

1. 코드 크기

코드 크기 또는 병목 현상 크기는 오토인코더 튜닝에 가장 중요한 하이퍼파라미터입니다. 병목 현상 크기에 따라 압축해야 하는 데이터의 양이 결정됩니다. 이는 정규화 용어로도 사용될 수 있습니다.

2. 레이어 수

모든 신경망과 마찬가지로 오토인코더 튜닝에 중요한 하이퍼 매개변수는 인코더와 디코더의 깊이입니다. 깊이가 높을수록 모델 복잡성이 증가하지만 깊이가 낮을수록 처리 속도가 빨라집니다.

3. 레이어당 노드 수

레이어당 노드 수는 각 레이어에 사용하는 가중치를 정의합니다. 일반적으로 오토인코더의 각 후속 레이어에서 노드 수는 각 레이어에 대한 입력이 레이어 전체에서 더 작아지기 때문에 감소합니다.

4. 재구성 손실

오토인코더를 훈련하는 데 사용하는 손실 함수는 오토인코더가 적응할 입력 및 출력 유형에 크게 의존합니다. 이미지 데이터를 다루는 경우 가장 널리 사용되는 재구성 손실 함수는 MSE 손실 함수와 L1 손실 함수입니다. MNIST 데이터세트처럼 입력과 출력이 [0,1] 범위에 있는 경우 이진 교차 엔트로피를 재구성 손실로 사용할 수도 있습니다.

위 내용은 오토인코더의 학습 방법 이해: 아키텍처 탐색부터 시작의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 163.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제