본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology/DL (Deep Learning)41

[Deep Learning] 베이지안 하이퍼파라미터 최적화 (Bayesian Hyperparameter Optimization) 베이지안 하이퍼파라미터 최적화 (Bayesian Hyperparameter Optimization) 베이지안 하이퍼파라미터 최적화는 그리드 검색보다 더 효율적으로 하이퍼파라미터를 찾는 방법이다. 하이퍼파라미터의 각 후보 집합은 신경망을 다시 학습시켜야 하므로 후보 집합의 수를 최소한으로 유지하는 것이 가장 좋다. 베이지안 하이퍼파라미터 최적화는 좋은 하이퍼파라미터 후보 집합을 예측하는 모델을 학습시켜 이를 달성한다. bayesian-optimization hyperopt spearmint # Ignore useless W0819 warnings generated by TensorFlow 2.0. # Hopefully can remove this ignore in the future. # See https.. 2023. 5. 26.
[Deep Learning] Teacher Forcing Teacher Forcing  티처 포싱은 target word (Ground Truth)를 디코더의 다음 입력으로 넣어 주는 기법이다. 타임 시리즈 예측 (Time Serise Forecasting, 데이터의 시간적 패턴을 탐지하는 것) 등 NLP 이외의 분야에 활용된다. 트랜스포머 (Transformer)와 같이 자기회귀성 (Autoregressive) 을 가진 다른 모델에도 적용된다. 장점 학습이 빠르다. 학습 초기 단계에서는 모델의 예측 성능이 나쁘다. 따라서, Tearcher Forcing을 이용하지 않으면 잘못된 예측값을 토대로hidden state 값이 update되고, 이 때문에 모델의 학습 속도를 더디게 한다. 그리고 Ground Truth를 모두 넘겨준다는 특징이 있다. 시점t에서 모델.. 2022. 11. 24.
[Deep Learning] 활성화 함수 구현 Sigmoid import numpy as np def sigmoid(x): return 1/(1+np.exp(-x)) sigmoid(4) 0.9820137900379085 import matplotlib.pyplot as plt x = np.arange(-10, 10, 0.01) y = sigmoid(x) plt.plot(x, y) ReLU def relu(x): return np.maximum(0, x) x = np.arange(-10, 10, 0.01) y = relu(x) plt.plot(x, y) Softmax def origin_softmax(x): f_x = np.exp(x) / np.sum(np.exp(x)) return f_x x = np.array([1.3, 5.1, 2.2, 0.7, .. 2022. 11. 17.
[Deep Learning] Global Average Pooling (GAP) Global Average Pooling (GAP) GAP (global average pooling)은 Max (Average) Pooling 보다 더 급격하게 feature의 수를 줄인다. 하지만, GAP을 사용하는 이유는 Pooling과 조금 다르다. GAP의 목적은 feature를 1차원 벡터로 만들기 위함이다. 이 방식은 Location 정보를 FC Layer보다 적게 잃고 85%의 가중치를 없앤다. 이것으로 계산량과 모델의 무게와 파라미터가 줄어든다. 따라서, 오버피팅 방지 효과도 따라온다. 그리나 이것은 정보량 손실이 있다. 이미지의 모든 값을 평균을 내는 것인데, 정보를 잃지만 성능은 좋은 것으로 알려져 있다. 분류할 클래스 수만큼 feature map을 마지막에 생성하여 i번째 featu.. 2022. 8. 14.
[Deep Learning] 전이 학습 (Transfer Learning) (4) 심층 전이 학습의 유형 도메인 적응 (Domain Adaptation) 도메인 적응은 소스 도메인과 대상 도메인이 서로 다른 기능 공간과 분포를 갖는 전이 학습 시나리오이다. 도메인 적응은 목표 학습자의 성능을 향상시키기 위해 정보를 전달하기 위해 하나 이상의 소스 도메인을 조정하는 프로세스이다. 이 프로세스는 소스의 배포를 대상의 배포에 더 가깝게 만들기 위해 소스 도메인을 변경하려고 시도한다. 도메인 혼란 (Domain Confusion) 신경망에서 서로 다른 계층은 기능의 서로 다른 복잡성을 식별한다. 완벽한 시나리오에서 우리는 이 기능 도메인을 불변으로 만들고 도메인 간 전송성을 향상시키는 알고리즘을 개발할 것이다. 소스 도메인과 대상 도메인 간의 기능 표현은 이러한 컨텍스트에서 가능한 한 유사해.. 2022. 6. 21.
[Deep Learning] 전이 학습 (Transfer Learning) (3) 미리 훈련된 기성 모델 미세 조정 이것은 사전 훈련된 모델에서 추출한 특징에 직접적으로 의존하고 최종 레이어를 교체할 뿐만 아니라 이전 레이어 중 일부를 선택적으로 다시 훈련하는 보다 매력적인 기술이다. 심층 신경망은 계층 구조이며 조정 가능한 하이퍼파라미터가 많다. 초기 레이어의 역할은 일반적인 기능을 캡처하는 반면, 나중 레이어는 당면한 명시적 작업에 더 중점을 둔다. 기본 모델에서 고차 기능 표현을 미세 조정하여 특정 작업과 더 관련성 있게 만드는 것이 좋다. 훈련에서 일부를 고정시키면서 모델의 일부 레이어를 다시 훈련할 수 있다. 다음 그림은 객체 감지 작업에 대한 예를 보여준다. 여기서 네트워크의 초기 하위 계층은 매우 일반적인 기능을 학습하고 상위 계층은 작업별 기능을 학습한다. 동결 vs 미.. 2022. 6. 21.
[Deep Learning] 전이 학습 (Transfer Learning) (2) 전이 학습 일반적인 접근 방식 도메인의 유사성을 기반으로 그리고 훈련을 위해 존재하는 데이터 샘플의 유형과 무관하게 전이 학습 전략을 분류하는 또 다른 방법이 있다. 동종 전이 학습 (Homogeneous Transfer Learning) 도메인이 동일한 기능 공간에 있는 상황을 처리하기 위해 동종 전이 학습 접근 방식이 개발 및 제안된다. Homogeneous Transfer learning에서 도메인은 주변 분포에서 약간의 차이만 있다. 이러한 접근 방식은 표본 선택 편향 또는 공변량 이동을 수정하여 영역을 조정한다. 인스턴스 이전 (Instance transfer) 소스 도메인에는 많은 양의 레이블이 지정된 데이터가 있고 대상 도메인에는 제한된 수가 있는 간단한 시나리오를 다룬다. 도메인과 기능 공.. 2022. 6. 21.
[Deep Learning] 전이 학습 (Transfer Learning) (1) 전이 학습 (Transfer Learning) 불가능하지는 않더라도 훈련을 위해 제한된 양의 데이터만 사용하여 만족스러운 모델 성능 (모델 정확도)을 얻는 것은 까다롭다. 다행히도, 바로 이 문제를 해결하는 해결책이 있는데, 그것은 Transfer Learning이라는 이름으로 통한다. 전이 학습은 사전 훈련된 모델을 새로운 작업에 대한 모델의 시작점으로 재사용하는 기계 학습 방법이다. 간단히 말해서, 한 작업에서 훈련된 모델은 두 번째 작업을 모델링할 때 빠른 진행을 허용하는 최적화로 관련 작업에서 용도가 변경된다. 새로운 작업에 전이 학습을 적용하면 적은 양의 데이터로 훈련하는 것보다 훨씬 더 높은 성능을 얻을 수 있다. 전이 학습은 너무 일반적이어서 이미지 또는 자연어 처리 관련 작업에 대한 모델을.. 2022. 6. 21.
[Deep Learning] 딥러닝 프레임워크 비교 딥러닝 프레임워크 비교 장점 단점 텐서플로우 (TensorFlow) 텐서보드 (TensorBoard)를 통해서 파라미터 변화 양상이나 DNN의 구조를 알 수 있다. 메모리를 효율적으로 사용하지 못한다. 케라스 (Keras) 배우기 쉽고 모델을 구축하기 쉽다. 오류가 발생할 경우 케라스 자체의 문제인지 백엔드 (back-end)의 문제인지 알 수 없다. 토치 (Torch) 간단하고 직관적인 학습과 속도 대비 빠른 최적화가 가능하다. 텐서플로우에 비해 사용자층이 얕고, 예제 및 자료를 구하기 힘들다. 텐서플로우 (TensorFlow) 텐서플로는 구글이 개발한 오픈소스 소프트웨어 라이브러리이며 머신러닝과 딥러닝을 쉽게 사용할 수 있도록 다양한 기능을 제공한다. 텐서플로는 데이터 플로우 그래프 (Data Flo.. 2022. 5. 19.
[Deep Learning] 딥러닝 프레임워크 (Deep Learning Framework) 딥러닝 프레임워크 (Deep Learning Framework) 딥러닝에 사용되는 인공신경망 알고리즘에는 DNN, CNN, RNN, RBM, DBN 등 다양한 형태의 수많은 알고리즘이 개발되어 활용되고 있으며, 하나의 문제를 해결하기 위해 두 개 이상의 알고리즘을 혼합하여 사용하는 경우도 많아졌다. 이렇게 이미 검증된 알고리즘을 사용할 때마다 계속해서 새롭게 구현해야 한다는 것은 매우 비효율적 방식이다. 딥러닝 프레임워크는 이렇게 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공함으로써, 개발자가 이를 빠르고 손쉽게 사용할 수 있도록 해준다. 이를 통해 중복적인 기능을 구현해야 하는 소모적인 작업으로부터 개발자를 해방시켜, 문제 해결을 위한 핵심 알고리즘 개발에만 집중할.. 2022. 5. 19.
728x90
반응형
LIST