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

Learning-driven Methodology108

TabNet TabNet TabNet은 tabular 데이터의 훈련에 맞게 설계됐으며 Tree 기반 모델에서 변수의 선택 특징을 네트워크 구조에 반영한 테이블 형식 데이터 학습 아키텍처 모델이다. TabNet은 순차적인 attention을 사용하여 각 결정 단계에서 추론할 기능을 선택하고, 학습 용량이 가장 두드러진 기능에 사용되므로 해석 가능성과 보다 효율적인 학습을 가능하게 한다. 예제 pip install pytorch_tabnet from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from sklearn.metrics import accuracy_score from pytorch_ta.. 2024. 4. 21.
[Machine Learning] ExtraTree ExtraTree ExtraTrees는 기본적으로 의사결정나무를 기반으로 한 앙상블 학습 방법이다. RandomForest와 같은 ExtraTrees는 특정 결정과 데이터 하위 집합을 무작위로 지정하여 데이터의 과잉 학습과 과적합을 최소화한다. 트리 모델 비교 모델 분산 (Variance) 특징 Decision Tree 높음 단일 의사결정 트리는 일반적으로 하나의 의사결정 경로에서만 학습하기 때문에 학습 중인 데이터에 과적합된다. 단일 의사결정 트리를 통한 예측은 일반적으로 새 데이터에 대해 정확한 예측을 제공하지 않는다. Random Forest 중간 랜덤 포레스트 모델은 다음을 통해 무작위성을 도입하여 과적합 위험을 줄인다. 여러 트리 구축 (n_estimators) 교체를 통한 관찰 그리기(즉, 부.. 2024. 1. 3.
[Deep Learning] 트랜스포머 구조 트랜스포머 구조 트랜스포머는 RNN을 사용하지 않지만 기존의 seq2seq처럼 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력하는 인코더-디코더 구조를 유지하고 있다. seq2seq 구조에서는 인코더와 디코더에서 각각 하나의 RNN이 t개의 시점 (time step)을 가지는 구조였다면 트랜스포머의 인코더와 디코더는 단위가 N개로 구성되는 구조이다. 인코더로부터 정보를 전달받아 디코더가 출력 결과를 만들어내는 트랜스포머 구조를 보여준다. 디코더는 마치 기존의 seq2seq 구조처럼 시작 심볼 를 입력으로 받아 종료 심볼 가 나올 때까지 연산을 진행한다. 이는 RNN은 사용되지 않지만 여전히 인코더-디코더의 구조는 유지되고 있음을 보여준다. 하이퍼파라미터 d_model 트랜스포머의 인코더.. 2023. 12. 28.
[Deep Learning] 트랜스포머 (Transformer) 트랜스포머 (Transformer) 트랜스포머 (Transformer)는 2017년 구글이 발표한 논문인 "Attention is all you need"에서 나온 모델로 기존의 seq2seq의 구조인 인코더-디코더를 따르면서도, 논문의 이름처럼 어텐션 (Attention)만으로 구현한 모델이다. 이 모델은 RNN을 사용하지 않고, 인코더-디코더 구조를 설계하였음에도 번역 성능에서도 RNN보다 우수한 성능을 보여주었다. 트랜스포머의 가장 큰 특징은 Convolution, Recurrence를 사용하지 않는다. seq2seq 모델의 한계 기존의 seq2seq 모델은 인코더-디코더 구조로 구성되어져 있다. 여기서 인코더는 입력 시퀀스를 하나의 벡터 표현으로 압축하고, 디코더는 이 벡터 표현을 통해서 출력 시.. 2023. 12. 28.
[Deep Learning] Attention Mechanism Attention Seq2Seq는 인코더 마지막 히든 스테이트 (hidden state)에 모든 인코더 정보를 우겨넣게 된다. 그리고 LSTM을 통해 Long-term dependency 문제를 해결했지만, 뒤 타임 스텝에서 앞쪽의 정보를 잘 저장하지 못하는 현상이 발생하기도 했다. 이 문제를 보완하기 위해 attention이 등장하게 된다. 동작 원리 어텐션이란, 디코더 (Decoder)가 각 타임 스텝 (time step)에서 결과를 생성할 때에 인코더 (Encoder)의 몇번째 타임 스텝을 더 집중 (Attention)해야하는 지를 스코어 형태로 나타내는 것이다. 각 디코더의 타임 스텝마다 인코더의 히든 스테이트 백터 (hidden state vector)와의 유사도를 계산함으로써, 인코더의 몇번째.. 2023. 12. 28.
[Deep Learning] Seq2Seq (Sequence to Sequence) Seq2Seq (Sequence to Sequence) RNN에서 many-to-many에 해당되는 모델을 'Seq2Seq Model'이라고 하며, 그 중 입력 문장을 읽어오는 부분을 인코더 (encoder), 출력 문장을 생성하는 부분을 디코더 (decoder)라고 한다. 디코더의 첫번째 입력값 (input)은 SoS (Start of Sentence)에 들어가며 결과값을 생성하기 시작하고, EoS (End of Sentece) 토큰이 디코더의 출력값 (output)으로 나오면 생성을 멈추게 된다. Seq2Seq의 문제 입력 시퀀스의 길이에 상관없이 단일 컨텍스트 벡터로 표현하여 정보 병목 (Information Bottleneck) 현상이 발생한다. 2023. 12. 27.
imbalanced-learn imbalanced-learn imbalanced-learn은 데이터의 불균형 문제를 해결하기 위한 다양한 샘플링 방법을 구현한 파이썬 패키지이다. pip install -U imbalanced-learn https://imbalanced-learn.org/stable/ imbalanced-learn documentation — Version 0.11.0 User guide The user guide provides in-depth information on the key concepts of imbalanced-learn with useful background information and explanation. imbalanced-learn.org 2023. 10. 4.
[Deep Learning] 1D CNN 1D CNN 1D CNN은 1차원 데이터를 처리하는 CNN의 한 종류이다. 컴퓨터 비전 작업에서 CNN에 대한 입력은 일반적으로 각 픽셀이 행렬의 값으로 표시되는 2차원 이미지이다. 이와 대조적으로 숫자 데이터는 일반적으로 1차원 값 시퀀스로 표시된다. 일반적으로 CNN은 이미지 처리에서 주로 쓰이며 2D convolution을 사용하지만, 수치나 텍스트 처리에서는 filter가 위아래 한 방향으로만 이동하는 1D Convolution을 사용한다. 1D CNN은 입력 데이터 위에 작은 창을 슬라이딩하고 창과 학습 가능한 필터 세트 사이의 내적을 계산하는 컨볼루션 작업을 입력 데이터에 적용한다. 이 작업의 결과는 피처 맵이며, 이는 비선형 활성화 함수와 풀링 레이어를 통해 전달되어 출력의 차원을 줄인다. .. 2023. 9. 27.
[FL] P2P 구조 (PEER-TO-PEER ARCHITECTURE) P2P 구조 (PEER-TO-PEER ARCHITECTURE) 클라이언트-서버 아키텍처 외에도 HFL 시스템은 그림과 같이 P2P 구조를 사용할 수도 있다. P2P 구조에는 중앙 서버나 코디네이터가 없다. 이러한 시나리오에서 HFL 시스템의 K 참가자는 트레이너, 분산 트레이너 또는 작업자라고도 한다. 각 트레이너는 로컬 데이터만 사용하여 동일한 ML 또는 DL 모델 (ex: DNN 모델)을 학습할 책임이 있다. 또한, 트레이너는 모델 가중치를 서로 전달하기 위한 보안 채널이 필요하다. 두 트레이너 간의 안전한 통신을 보장하기 위해 공개 키 기반 암호화 체계와 같은 보안 조치를 채택할 수 있다. 중앙 서버가 없기 때문에 트레이너들이 모델 가중치를 주고받는 순서에 미리 동의해야 한다. 이를 수행하는 방법은.. 2023. 9. 26.
[FL] 클라이언트-서버 구조 (CLIENT-SERVER ARCHITECTURE) 수평적 연합 학습의 구조 HFL 시스템의 일반적인 클라이언트-서버 아키텍처는 그림과 같으며 이는 마스터-작업자 아키텍처라고도 한다. 이 시스템에서는 동일한 데이터 구조를 가진 K 참가자 (클라이언트, 사용자 또는 당사자라고도 함)가 서버 (매개변수 서버 또는 집계 서버 또는 코디네이터라고도 함)의 도움을 받아 기계 학습 (ML) 모델을 공동으로 훈련한다. 일반적인 가정은 참가자가 정직한 반면 서버는 정직하지만 호기심이 많다는 것이다. 따라서, 목표는 모든 참가자의 정보가 서버로 유출되는 것을 방지하는 것이다. 이러한 HFL 시스템의 훈련 과정은 일반적으로 다음 네 단계로 구성된다. • 1단계 : 참가자는 로컬에서 그레디언트를 계산하고, 암호화, 차등 프라이버시 또는 비밀 공유 기술을 사용하여 그레디언트 .. 2023. 9. 26.
728x90
반응형
LIST