2023/01/28 5

Colab PyTorch 'Bees and Ants' Transfer Learning

TRANSFER LEARNING FOR COMPUTER VISION TUTORIAL: PyTorch 홈페이지의 이 예제 블로그를 참조하여 해설하기로 한다. https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html 메서드(method) train_model을 준비하자. LRscheduler(Learning Rate scheduler) 가 사용된다. 학습횟수가 커질수록 learning rate 값이 조절되된다. device에 데이터 입력 과정과 아울러 optimizer.zero_grad() 명령에 의한 기울기 값 초기화로 부터 시작하여 PyTorch 특유의 backpropagation 포함 학습 알고리듬이 준비된다. 만약 Transfer ..

Colab Translation 코드 실습

구글의 번역 알고리듬에는 앞서 기술된 LSTM 어텐션 알고리듬뿐만 아니라 더욱 진보된 Transformer 알고리듬까지 적용이 되어있다. 구글에서 제공하는 언어 번역 라이브러리를 직접 Colab에서 설치하여 간단하게 사용하는 법을 알아 보자. 간단한 코드이므로 GPU 사용을 배제하는 None 런타임 유형으로 실행시키자. 1 !pip install translate 2 from translate import Translator translator = Translator(from_lang="ko", to_lang="en") translated = translator.translate("나는 인공지능을 공부한다") translated ‘I study artificial intelligence’ 3 transl..

chatGPT로부터의 텐서플로우 선형회귀법 예제

이 정도 수준의 간단한 선형회귀볍 코드는 OpenAI의 chatGPT에게 시켜도 충분한 정보를 제공받을 수 있다. chatGPT 제공코드에서 회귀모델과 loss 함수가 for loop 문에서 중복되었기에 for loop 위의 회귀모델과 loss 함수를 # 즉 코멘트 처리하였다. 틀린점은 없어 보인다. 그림의 선형회귀법 예제에서 기울기 w를 미지수로 생각하고 회귀법(regression)으로 찾아보자. 미지의 웨이트 값 w는 처음에 random number 나 임의의 상수값을 준 상태에서 시작하면 된다. 한가지 주의할 점은 직선의 방정식을 결정하는 과정에서 2개 이상의 많은 수의 데이터들이 주어질 경우 이 점들을 대표할 수 있는 직선을 결정하게 되는 것이며, 이는 통계학이나 사회학 분야에서 많이 응용되는 기..

Colab에서 사전학습된 가중치를 사용 PyTorch에서 AlexNet을 실행해 보자.

컬러 색상의 227X227X3 이미지 입력으로 이루어지는 AlexNet의 아키텍츄어를 살펴보자. MAX POOL 알고리듬에 3X3 커늘에 스트라이딩 값 2를 적용하는 바 이는 오버래핑을 허용하는 알고리듬이다. 전체적으로 크기를 줄여나가는 Convolution 및 pooling 레이어들과 마지막 부분의 Fully Connected Layer 구조로 이루어짐을 알 수 있다. 그밖에 다층의 신경망 적용에 따른 큰 수의 생성 폭발 및 gradient 값의 굽속한 감쇠를 방지하기 위해서 활성화 함수 ReLU를 채택하고 batch normalization 기법에 의해서 컴퓨팅 부담을 최대로 낮춘 후 부족한 데이터를 인위적으로 늘리기 위한 data augmentation 알고리듬을 채택한다. data augmenta..