본문 바로가기
반응형

전체 글15

LSTM & GRU LSTM (Long Short Term Memory)LSTM은 Hochreiter & Schmidhuber (1997)  에서 처음 소개되었다. RNN에서 발생할 수 있는 Vanishing Gradient Problem을 해결하기 위해 Cell gate를 활용한다. 이는 장기기억 즉, 과거의 먼 시점의 input을 기억할 수 있도록 한다.RNN은 총 2개의 input, hidden state $h_{t-1}$ 과 현재 시점의 input $X_t$ 를 활용하지만LSTM은 이전 시점에서 오는 hidden state $h_{t-1}$ , Cell state $C_{t-1}$ 그리고 현재 시점의 input $X_t$ 총 3개를 Input으로 활용한다. LSTM의 단게별 설명Forget gate layerInpu.. 2024. 5. 7.
(Scaled) Dot-Product Attention 좌측의 사진을 보면, 이전 글에서 설명한 Sequence-to-sequence와 같은 구조를 가지고 가는 것을 알 수 있다. 하지만, RNN(또는 LSTM)을 사용하게 되면 발생하는 Vanishing Gradient Problem이 발생할 수 밖에 없다. 만약, Encoder의 첫 Input이 영향을 크게 줘야한다면 영향을 주기 어렵다는 뜻이 된다. 이를 해결하기 위해, 좌측의 사진처럼 Encoder Section의 값을 모두 검토하는 방식을 채택하게 된다.단계별 분석Step1. Attention score 구하기하지만 $score(s_{t}, h_{i}) = s_{t}^{T}h_{i}$$s_t$ : t 시점 decoder 셀의 hidden state$h_i$ : i 시점 encoder 셀의 hidden.. 2024. 4. 28.
Sequence-to-sequence(seq2seq) & Teacher-forcing 기본 개념RNN(LSTM)으로 이루어진 인코더와 디코더를 가지는 구조. 논문 상에서는 번역을 위해 사용.코드로 구현 시 인코더와 디코더는 같은 형태를 가짐(같은 계층 수와 해당 계층 내에 같은 크기의 hidden size) 모델 구조주요 수식$(x_1 , ..., x_{T})$ : Input sequence$(y_1 , ..., y_{T'})$ : Input sequence에 해당하는 Output sequence(Input sequence와 같은 길이가 아닐 수 있음)$v$ : input sequence의 마지막 input으로 부터 나온 마지막 hidden state 값 추가적으로 설명하면,input sequence를 인코딩해서 hidden state로 넘겨준다.해당 hidden state의 값을 활용하.. 2024. 4. 27.
MLOps 구성요소(2) 배포 프로세스Continuous Deployment프로덕션 테스트 필요, 배포 전략 설정(카나리, Shadow, etc.)모델 추론 서비스 배포된 모델이 실제로 사용자에게 결과를 추론해주는 서비스서비스 방식 - Online serving(API), Batch serving, Streaming어플리케이션 형태로도 제공 가능Pre/Post-processing 로직이 필요한 경우 있음.Kserve, Seldon core, TorchServe, Triton inference server, etc.모니터링프로덕션 테스트 포함(실제 데이터에 대한 성능 분석)데이터 모니터링(Data drift 현상 추적)알람 기능Prometheus, Grafana, Elastic, etc.스케쥴러특정 조건에 의해 머신러닝 파이프라인.. 2024. 4. 25.
MLOps 구성요소(1) 데이터 관리개발 환경에 데이터를 전달하고 추론용 데이터를 배포된 서비스에 전달하는 과정 포함 // 데이터의 질과 가용성이 모델의 성능에 큰 영향을 미침데이터 수집 및 데이터 소스 관리 및 연결필요 시 데이터 파이프라인 도입데이터셋 형상 관리를 통한 데이터 변경사항 추적, 버전 관리, 실험 지연성 보장하기 위한 도구S3, Google Cloud Storage, Hadoop, Dataflow, Kafka, etc.모델 개발데이터 분석부터 모델 학습 및 검증에 이르는 전체 과정(새로운 모델을 만드는 것이 목표)데이터 분석 / 검증/ 전처리(Feature Engineering)모델 training (Hyperparameter Tuning) , validation, evaluation실험 관리 : hyperpar.. 2024. 4. 25.
MongoDB Sample Dataset(1) GET - sample analytics 깨달은 점 1. Array의 경우 list 타입으로 데이터를 가져올 수 있다. 2. 날짜의 경우, datetime.datetime 타입으로 데이터를 가져올 수 있다. 3. 데이터가 없는 경우가 있기 때문에, get함수를 활용하여 데이터를 가져오자. 1. DB 구조 accounts, customers, transactions 총 3개의 Collection을 가지고 있다. 2. 각 DB의 구조(Python코드와 Atlas에서 보이는 데이터 예시) account : 이전에 올린 글의 방식과 동일하게 데이터를 가져오는 것을 볼 수 있다. customer : 해당 데이터에 문제가 존재했다. active가 첫 데이터에만 존재하고, 나머지 데이터에는 존재하지 않았다. 해당 데이터에 대해서 처리 방식에 대해 2가지정도.. 2024. 4. 5.
반응형