파이토치(PyTorch) 이해하기 - 자동 미분(Autograd)
2022. 12. 2. 21:44
인공지능/머신러닝-딥러닝
텐서플로우에서 파이토치로 환승(!)하기 위해 기본적인 내용부터 공부를 하고 있다. 아래의 이전 글들을 참고할 수 있다. 텐서플로우(TensorFlow)에서 파이토치(PyTorch)로 환승하기 파이토치(PyTorch) 이해하기 with MNIST 이번 글에서는 파이토치의 autograd, 즉 자동 미분에 대해서 알아보려고 한다. 기본적으로 파이토치에서 제공하는 이 도큐먼트를 기반으로 한다. 자동 미분 먼저 개념적으로 살펴보자. 연산이 수행되면서 데이터가 발생한다. 이러한 모든 연산을 저장하는 그래프가 있고, autograd가 이 그래프를 담당한다. 이때 그래프는 유향 비순환 그래프(일명 DAG) 형태를 띠며, 잎(leaves)은 입력텐서 그리고 뿌리(roots)는 출력텐서다. 그래프의 뿌리부터 시작해 잎을..
파이토치(PyTorch) 이해하기 with MNIST
2022. 11. 24. 18:51
인공지능/머신러닝-딥러닝
지난 글에서 텐서플로우와 파이토치의 차이를 살펴보고 파이토치의 특징과 장단점을 간단하게 알아봤다. 이번 포스팅에서는 파이토치의 MNIST 예제를 통해 파이토치의 작동 방식을 보다 자세히 공부하려고 한다. 코드는 지난 글에서 그대로 가져왔다. 라이브러리 및 config import torch import torchvision import torch.nn as nn import torch.nn.functional as F from torch.utils.data import DataLoader import numpy as np import matplotlib.pyplot as plt - torchvision은 이미지/영상 처리를 위한 파이토치의 라이브러리다. - torch.nn 이 무엇인지에 대해 파이토치에서..
텐서플로우(TensorFlow)에서 파이토치(PyTorch)로 환승하기
2022. 11. 24. 15:51
인공지능/머신러닝-딥러닝
*해당 포스팅은 이 원문을 번역, 정리(요약)한 것입니다. 텐서플로우가 파이토치보다 1년 먼저 나왔지만, 최근 많은 개발자들이 텐서플로우에서 파이토치로 넘어가고 있는 실정이다. 이번 아티클에서는 텐서플로우에서 파이토치로 넘어가는 방법에 대해 이야기하려고 한다. 먼저 각 딥러닝 프레임워크를 사용하는 이유에 대해 살펴본 후, 간단한 예제를 통해 파이토치와 가까워지는 시간을 가져보려 한다. 프레임워크 개요 텐서플로우 2015년 구글에서 발표한 딥러닝 프레임워크. 텐서플로우 2.0로 업데이트되면서 케라스(keras)와 통합되었다. 파이토치 2016년 페이스북에서 발표한 딥러닝 프레임워크. 파이썬 언어와 자연스럽게 어우러진다는 장점이 있다. 파이토치를 텐서 단위의 딥러닝 모델을 GPU 위에서 계산할 수 있는 플랫..
OLS와 경사하강법의 차이는 무엇인가요? (2) - 경사하강법에 대해서
2022. 11. 21. 21:20
수학과 통계/통계
이전 글을 통해 OLS가 무엇인지, 어떻게 식을 유도하는지 알아봤다. (글보기) 이번 글에서는 경사하강법에 대해 알아보되, OLS와 개념적으로 어떻게 다른지를 중점으로 살펴보겠다. 경사하강법(Gradient Descent) Gradient Descent, 즉 경사하강법은 iterative 하게 손실 함수를 최소화 시키는 파라미터를 찾는 최적화 방식이다. 파랑색 그래프가 손실함수라고 할 때, 값이 최소화되는 지점을 찾기 위해 경사하강법을 사용한다. 함수의 기울기(경사)를 구하여 기울기의 반대 방향으로 내려가면서 최소점을 찾는다. cost function $J(w, b)$가 있을 때, $$w := w - \alpha \frac{\partial J(w)}{\partial w}$$ $J(w)$의 경사(미분값)를..
OLS와 경사하강법의 차이는 무엇인가요? (1) - OLS에 대해서
2022. 11. 16. 21:04
수학과 통계/통계
OLS가 무엇인지 알고, 경사하강법이 무엇인지도 아는데 둘의 차이를 설명할 수 없었다. 아직 이해가 많이 부족하다는 뜻이다. 오늘은 이 질문에 대해 답하기 위해 OLS가 무엇인지, 어떻게 식을 유도하는지 살펴보기로 한다. OLS(최소자승법) OLS는 오차를 최소화시킴으로써 선형회귀모델을 추정하는 방법이다. 최소제곱법이라고 부르기도 한다. 단순회귀분석에서 가장 일반적으로 볼 수 있는 형태의 선형식은 아래와 같다. $$y = \alpha + \beta x + u$$ 이때 $u$는 오차항으로서, 자연적으로 발생하는 노이즈라고 볼 수 있다. 두 변수의 관계를 대략적으로 '근사'했을 때와 비교해서, 실제값에서 발생하는 차이를 나타낸 것이다. 그러니 $u$는 근사된 식으로 표현할 수 없는 부분이라고 볼 수 있다. ..
앞으로의 계획
2022. 11. 15. 16:37
진로/취업
지난 두 달 간 회사에 지원하고, 코딩테스트를 보고, 면접을 치르면서 많은 것을 배웠다. 잠시 공부를 중단하는 것에 불안을 느끼기도 했지만 값진 경험이었음은 분명하다. 1. 서류 감사하게도 서류는 모두 통과했다. 프로젝트 경험이 다양하게 있는 점, 포트폴리오에 공을 많이 들인 점, 자소서를 하나하나 꼼꼼히 작성하는 점이 유리하게 작용한 것 같다. 서류조차 합격하지 못할 거란 두려움이 있었는데 이번에 그런 걱정은 많이 덜게 되었다. 내용이 outdated되지 않게 새로운 프로젝트 계속 진행하면서 업데이트하는 게 중요할 것 같다. 그리고 내가 진행한 프로젝트에 포함된 모델이나 이론 등은 꿰차고 있기! 2. 코딩테스트 코딩테스트를 마저 준비하려고 한다. 하던 대로 문제 풀고, 블로그에 업로드하기. 올해가 가기..
롯데e커머스 면접 후기
2022. 11. 13. 11:42
진로/취업
[일자] 2022년 10월 17일 [직무] MLOps 엔지니어 [지원과정 및 전형] 구글 부트캠프 전형 (전환형 인턴) - 서류 통과 후 면접 [결과] 인성검사 및 면접 탈락 롯데이커머스 면접을 다녀왔다. 기억이 더 흐려지기 전에 기록을 남기려고 한다. MLOps 직무와 데이터사이언티스트 (ML모델링) 직무 중에서 지원할 수 있었는데 나는 MLOps에 올인했다. 다가오는 ML시장에서는 모델링보다 DevOps의 중요성이 커질 거라는 믿음 때문이었다. 그리고 나는 컴퓨터가 재밌다. 컴퓨터에 대해 더 배우고 싶었다. (지원동기치곤 상당히 허술하죠 여기서 이미 당락은 결정되어 있었다) 아침 일찍 출발해 신촌 ‘마이스윗인터뷰’에서 정장을 빌렸다. 정장 처음 입어봄. 애초에 복장은 비즈니스 캐주얼로 안내 받았는데,..