일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- LSTM
- pytorch
- ubuntu
- Deep learning
- python
- Torchvision
- rnn
- objectdetection
- pychram
- ViT
- AI
- CNN
- vision transformer
- __init__
- wsl2
- 가상환경구축
- tensorflow
- 머신러닝
- 파이썬
- torch.nn
- 딥러닝
- pip install
- DeepLearning
- __call__
- Anaconda
- torch.nn.Module
- 가상환경
- python 문법
- docker
- 파이썬문법
- Today
- Total
목록딥러닝 (8)
인공지능을 좋아하는 곧미남
안녕하세요. 오늘은 Transformer의 Layer 구조를 변형하여 Model Parameter를 Token으로 활용하여 모델의 확장성을 높이고, 학습 비용을 줄인 TOKENFORMER를 리뷰하겠습니다. 이름에서 부터 직관적으로 Transformer의 구조를 TOKEN화 한것 같은 느낌을 줍니다. Transformer 논문을 보고 오시면 이해가 쉽습니다.- 논문 관련 문서 -arXiv 30 Oct 2024. [Paper] [Page] [Github]- 목차 -1. Background2. Token-Parameter Attention(Pattention)3. Progressive Model Scaling4. Result1. BackgroundTransformer의 한계점: Linear projection..
안녕하세요. 오늘은 학습 시 weight가 nan 값이 출력되는 문제에 관해 알아보겠습니다. 저도 처음에 왜 그런지 정말 궁금해서 많이 찾아봤는데 역시 stack overflow에 잘 설명이 되어있었습니다. 오늘의 내용을 아래와 같습니다. - INDEX - 1. Nan value 발생 현상 및 이유 2. Nan value 발생 시 대처 방법 3. 고찰 1. Nan value 발생 현상 및 이유 1) Gradient blow up: Gradient의 값이 너무 커서 weight update 시 발산되어 weight가 Nan으로 됨. 2) Bad learning rate policy and params: learning rate 자체가 inf나 nan이 될 경우. 3) Faulty loss function:..
pytorch의 패키지를 사용하여 Image Data를 Load하는 코드 설명과 과정에 대해서 알아보겠습니다. Data Augmentation과 os.listdir를 이용한 Window File folder에서 파일을 가져오는 방법도 있으니 참고하시면됩니다. 제가 pytorch에서 사용한 Dataloader관련 패키지는 "torch.utils.data.Dataset"과 "torch.utils.data.DataLoader"입니다. 오늘의 내용은 아래와 같이 간략히 정리됩니다. - INDEX - 1. import os를 이용한 image file명 불러와 list에 저장하기. 2. torch.utils.data.Dataset 클래스를 사용하여 저장된 image file명 list에서 file경로를 불러와 각..
오늘은 딥러닝에 적용할 수 있는 순환구조를 이해하기 위한 RNN, LSTM 이론을 알아보겠습니다. 1. RNN-순환신경망 (Recurrent Neural Network) 1) RNN 순환구조: RNN의 순환구조를 이해하기 편하게 아래 그림을 빗대어 설명하면, RNN CELL은 초록색의 상자로 표현되는데, 첫번째 INPUT X1를 받아와 Hidden State인 RNN CELL을 업데이트하고 Y1을 출력하고 그 다음 시퀀스(i=2)의 Hidden State RNN CELL에 정보가 전달된다. 이 과정을 마지막 시퀀스까지 반복하는 것이 RNN의 순환구조이다. (여기서 Output은 Many to Many, Many to One Task에 따라 다르고 출력하고 싶은 시점의 출력을 얻을 수 있다.) 수학적 Fo..
인공지능 모델을 개발하면, 여러가지 문제가 발생하는데요. 그 중 Over fitting되거나 local minimum에 빠지지 않도록 학습 가중치 업데이트를 원활히 하기 위한 적용 기법을 살펴보겠습니다. 우선, weight를 업데이트는 아래 식으로 설명이 가능한데요. 해당, 방정식과 같이 다음 step의 weight를 얻기 위해서는 이전 weight에 learning rate와 cost function을 미분한 값(비용함수의 T시점의 접점의 기울기)을 곱한 값으로 차감합니다. 여기서 가중치(W) 업데이트 방정식을 조금 변형하여 좀 더 학습에 유리하도록 연구한 내용들이 있습니다. 저는 그 중 weight decay와 momentum에 관해 설명하겠습니다. weight decay(β)는 하나의 항을 추가하여..
여러가지 인공지능 모델 개발을 한 후 해당 모델에 대해 평가를 해야합니다. 흔히 말해 성능 평가라고 하며, 각 모델별로 성능 지표들이 다르게 정의되어 있습니다. 포괄적인 인공지능 모델은 Classification, Object Detection, Segmentation이 있습니다. 저는 이 세가지 모델들의 평가 지표에 관해 설명하겠습니다. 오늘의 내용은 아래 목차와 같습니다. 1. Classification Metric 2. Segmentation Metric 3. Object Detection Metric 1. Classification 분류 모델의 성능을 평가하기 위해서 아래와 같이 결과들을 구분할 수 있습니다. 이해를 돕기 위해 하나의 예시를 들어보겠습니다. 예시) 강아지와 고양이..
Object Detection Open API를 배포하기 위해 텐서플로우는 데이터 직렬화로 Google Protocol Buffers를 많이 사용한다. 따라서, 본 내용에서는 내가 Protocol Buffers를 공부한 내용을 기록해보겠다. 오늘의 내용은 아래 목차와 같다. 1. 데이터 직렬화란? 2. Protocol Buffers? 3. Protocol Buffers with Python 4. 참고 블로그 5. 내가 쓴 Code Protocol Buffers를 처음 만난건 위성 사진에서 Ship Object Detection 하기 위해 GIT_HUB에서 RBOXCNN이라는 API를 찾아서 구현해보고 새로운 방법으로 정확도를 높여보는 작업을 했었던 시절이었다. (사실 지금은 작업을 하는..
안녕하세요? 오늘은 Visual Studio Code와 Anaconda 가상환경을 연동하여 Run을 할 수 있도록 셋팅해보겠습니다. 본론에 앞서 Visual Studio Code : VSC, Anaconda : conda로 별칭을 주어 사용하도록 하겠습니다. VSC와 conda를 연동할때 많이 헤매었는데요. 아주 쉽게 간략하게 정리해 드리겠습니다. 오늘의 내용은 아래 목차와 같습니다. 1. conda와 VSC를 다운로드 2. ANACONDA에서 가상환경 생성 3. python과 code runner를 다운 4. conda 가상환경에 접근 5. 가상환경 접근 경로를 설정 6. 가상환경 접근 1. conda와 VSC를 다운로드 아나콘다 도메인 www.anaconda.com/products/..