728x90
반응형

전체 글 112

[pytorch] LSTM(Long Short-Term Memory)이란? / LSTM을 Pytorch로 구현 실습 코드

RNN(순환신경망)의 한계점1. 장기 의존성 문제 (Long-term Dependency Problem)   - RNN은 이전 시점의 정보를 현재 시점에 반영하는 구조이기 때문에, 과거의 중요한 정보를 오랫동안 기억하는 데 어려움이 있습니다.   - 시간이 길어질수록 (시퀀스가 길어질수록), RNN은 초기 시점의 정보를 잊어버리기 쉬워집니다.   - 예를 들어, \( h_{100} \)는 \( h_1 \)부터 \( h_{99} \)까지의 은닉 상태에 의존하고 있지만, 시간이 길어질수록 \( h_1 \)의 정보는 거의 전달되지 않게 됩니다.2. 기울기 소실 문제 (Vanishing Gradient Problem)RNN에서 은닉 상태의 가중치 \( W_{hh} \)는 매 타임스텝의 은닉 상태를 업데이트하는 ..

pytorch 2024.09.26

[pytorch] 순환 신경망(Recurrent neural network, RNN) 이란? / RNN을 Pytorch로 구현 실습 코드

DNN과 RNN 비교딥러닝에서 데이터의 시간적 연속성을 처리하는 방법은 모델 선택에 중요한 영향을 미치는데요. 우선 DNN과 RNN을 비교하여 시간적 연속성의 중요성을 살펴보시죠.시간적 연속성을 고려하지 않은 경우- 왼쪽의 수식에서는 입력 데이터 \( x_t \)가 주어졌을 때, 은닉층 \( h_t \)가 가중치 \( W_{xh} \)와 활성화 함수 \( f(\cdot) \)을 통해 계산됩니다. 이 은닉층의 출력 \( h_t \)는 다시 가중치 \( W_{hx} \)와 활성화 함수 \( g(\cdot) \)를 거쳐 최종 출력값 \( y_t \)를 생성합니다.- 이 경우, 각 시점 \( t \)의 데이터는 독립적으로 처리됩니다. 이전 시점의 정보는 고려되지 않으므로, 모델은 시간적 연속성이나 데이터 간의 ..

pytorch 2024.09.24

[python] github .py 파일 실행해보기 (train.py, utils.py)

터미널에서 CUDA_VISIBLE_DEVICES=0 python train.py 실행 실행하기 전, 경로 설정을 해줘야 함. 필요한 파일들을 동일한 경로에 넣기.train.py 파일을 수정해서 현재 경로에 데이터셋이 잘 다운로드 될 수 있도록 설정하기. https://github.com/facebookresearch/mixup-cifar10/blob/main/train.py mixup-cifar10/train.py at main · facebookresearch/mixup-cifar10mixup: Beyond Empirical Risk Minimization. Contribute to facebookresearch/mixup-cifar10 development by creating an account o..

python 2024.09.10

[pythonML] Autogluon 사용법 | Autogluon 매개변수, 속성, 메소드 | Autogluon 코드 적용

AutoGluon 이란?AutoGluon은 머신러닝 워크플로우를 자동화하는 강력한 도구로, 사용자가 최소한의 코드만으로도 다양한 모델을 자동으로 학습하고 튜닝할 수 있습니다. AutoGluon은 데이터 전처리, 피처 엔지니어링, 하이퍼파라미터 최적화, 앙상블 학습 등의 복잡한 작업을 자동으로 수행하며, 다양한 데이터 유형을 지원합니다. 특히, 모델 성능을 최적화하기 위해 다양한 모델을 시도하고, 최적의 모델을 선택하거나 여러 모델을 결합하여 최상의 예측 성능을 제공합니다. GPU를 활용한 고속 학습도 지원하여, 대규모 데이터셋에서도 효율적으로 작동합니다.TabularPredictor 클래스의 매개변수 label(str) 예측할 타겟 변수를 포함하는 열의 이름. problem_type (str, 기본값 =..

pythonML 2024.09.01

[pythonML] H2O AutoML 사용법 | H2O 코드 적용 | H2O 파라미터

H2O란?H2O의 AutoML은 머신러닝 워크플로우를 자동화하는 데 사용될 수 있으며, 사용자가 지정한 시간 내에서 여러 모델을 자동으로 학습하고 튜닝합니다. 또한, H2O의 모델 설명 기능은 AutoML 객체 전체(즉, 여러 모델들로 구성된 모델 그룹)와 개별 모델(리더 모델 포함)에 적용할 수 있습니다. AutoML 실행 후 생성된 다양한 모델들에 대해 어떻게 작동하고 있는지, 각 모델의 예측이 어떻게 이루어졌는지 등을 설명할 수 있는 도구들을 제공합니다. AutoML 객체 자체가 앙상블 모델은 아니지만, AutoML이 생성한 앙상블 모델은 H2O의 모델 설명 기능을 통해 해석할 수 있습니다.H2O AutoML 인터페이스H2O AutoML 인터페이스는 가능한 한 적은 파라미터로 설계되어 있어, 사용자..

pythonML 2024.08.30

[pythonML] 스태킹 앙상블(Stacking ensemble)이란? | 스태킹(Stacking)의 작동 방식 | StackingClassifier 함수 적용

스태킹에 대해 설명하기 전에, 이를 이해하기 위한 두 가지 중요한 개념을 먼저 알아보겠습니다: 기본 학습자와 메타 학습자입니다.기본 학습자(Base Learner)기본 학습자는 앙상블 모델의 첫 번째 단계에서 사용되는 개별 모델들입니다. 각 기본 학습자는 독립적으로 학습하여 자체적인 예측을 수행합니다. 이들은 앙상블을 구성하는 기본적인 요소로, 서로 다른 알고리즘을 사용할 수도 있고, 동일한 알고리즘을 다른 데이터 샘플에 대해 학습시킬 수도 있습니다.메타 학습자(Meta Learner)메타 학습자는 앙상블 모델의 두 번째 단계에서 작동하는 모델입니다. 메타 학습자는 기본 학습자들이 생성한 예측값을 입력으로 받아, 이를 바탕으로 최종 예측을 수행합니다. 메타 학습자는 기본 학습자들이 가진 오류나 편향을 보..

pythonML 2024.08.28

[pythonML] 배깅(Bagging)이란? | 배깅(Bagging)의 동작 원리 | 배깅을 사용한 모델 학습 코드

배깅(Bagging)이란?배깅은 동일한 알고리즘을 사용하여 여러 개의 개별 모델을 구성하는 방법입니다. 각 학습자는 원본 데이터에서 랜덤으로 샘플링(행(row)을 랜덤으로 선택)된 서브셋을 사용해 학습되며, 최종 예측은 이들의 예측을 평균내거나 다수결 투표로 결정됩니다. 대표적인 예로는 "랜덤 포레스트"가 있습니다. Bagging, 또는 Boostrap Aggregating은 앙상블 학습에서 사용되는 기법 중 하나인데요. 이 기법은 주로 모델의 분산을 줄이고 예측 성능을 향상하기 위해 사용되죠. Bagging은 랜덤포레스트와 유사하지만, 중요한 차이가 있습니다. 랜덤 포레스트는 각 결정 트리(Decision Tree)가 일부 피처만을 사용해 학습되는 반면, Bagging은 모든 피처를 사용합니다.배깅(B..

pythonML 2024.08.28

[pythonML] 앙상블(ensemble model)이란? | 앙상블의 종류 | 편향 (Bias)과 분산(Variance)

앙상블(ensemble)이란?축구 경기를 준비하는 감독을 생각해 보세요.감독님은 팀을 구성할 때, 각 선수의 특성과 능력을 고려하여 최적의 선수들로 조합을 만들겠죠!?  예를 들어,빠른 스피드를 가진 공격수, 강력한 방어력을 가진 수비수, 경기를 조율하고 전략을 이끄는 미드필터, 골을 지키는 데 탁월한 골키퍼 등이 감독님은 각 선수의 장점을 최대한 활용해 팀을 구성하고, 이들이 함께 협력하여 경기에서 승리할 수 있도록 합니다.  각 포지션 선수들은 저마다 다르게 경기에 기여하지만, 이들이 잘 조화되었을 때 팀은 최상의 성과를 내겠죠. 앙상블 모델도 이와 비슷하게 작동합니다. 각 머신러닝 모델은 축구팀의 선수들처럼특정한 역할을 맡고 있어요. 각 모델이 가진 강점을 결합함으로써, 하나의 모델이 혼자서 이루지..

pythonML 2024.08.27

[논문 리뷰] Resnet (Deep Residual Learning for Image Recognition)

초록1. 잔여 학습 프레임워크 소개: 일반적으로 신경망이 깊어질수록 학습하기 어려워집니다. 이 문제를 해결하기 위해 '잔여 학습 프레임워크'라는 새로운 방법을 제안했습니다. 이 방법은 각 레이어가 입력 데이터에 어떤 변화를 주어야 할지, 즉 '잔차'를 학습하도록 만듭니다. 이는 신경망이 더 깊어져도 잘 학습할 수 있게 도와줍니다.2. 신경망의 재정의: 이전에는 신경망의 각 레이어가 입력을 직접 처리하도록 설계되었습니다. 그러나 잔여 학습에서는 각 레이어가 입력과 출력 사이의 차이, 즉 '잔차'를 목표로 하여 학습합니다. 이 접근 방식으로 인해 신경망의 학습이 쉬워지고, 더 깊은 네트워크에서도 높은 정확도를 달성할 수 있습니다.3. ImageNet 데이터셋에서의 성공: 잔여 네트워크는 ImageNet 데이..

논문 리뷰 2024.08.16

[논문 리뷰] GoogleNet(Going deeper with convolutions)

GoogleNet 특징최적의 지역 희소 구조를 찾아 밀집된 구성 요소로 덮는 방식을 통해 설계되었습니다.1x1, 3x3, 5x5 크기의 필터를 활용하여 다양한 패치를 커버하고, 이를 다음 단계의 입력으로 결합합니다.계산 요구가 증가하는 경우 차원을 줄이는 길을 선택하여 계산 복잡성을 제어합니다.1x1 컨볼루션은 차원 축소 및 선형 활성화를 통해 두 가지 기능을 수행합니다.다양한 스케일에서 정보를 처리하고 집계하여 다음 단계에서 서로 다른 스케일의 특징을 동시에 추상화합니다.중간 계층에 보조 분류기를 추가하여 구별 능력을 강화하고, 학습 시 총손실에 추가하여 정규화 효과를 제공합니다.소개인셉션 아키텍처는 이미지넷 대규모 시각 인식 도전(ILSVRC14)에서 새로운 최고 성능을 달성한 딥 컨볼루션 신경망입니..

논문 리뷰 2024.07.08
728x90
반응형