본문 바로가기

머신러닝4

[CS231n] Lecture 8 | Deep Learning Software 딥러닝 프레임워크에 대해서 알아보자! CPU는 central processing unit, GPU는 graphics processing unit이다. 이 둘은 어떤 차이가 있는 것일까? CPU는 컴퓨터의 뇌에 해당하는 부분이라고 생각하면 된다. 컴퓨터에서 구성 단위 중 기억, 해석, 연산, 제어부분을 수행하는 중요한 녀석이다. 좀 더 적은 core의 수로 연속적인 일을 처리하는데 CPU가 자주 쓰인다. GPU는 computer graphics를 Rendering하기 위해 쓰이는 녀석이다. 더 많은 core로 일을 병렬적으로 수행하고 싶을 때 GPU가 자주 쓰인다. GPU는 내부적으로 자체적인 RAM을 가지고 있다. 아래 표를 보면 차이점을 알 수 있다. GPU에도 여러 종류가 .. 2020. 11. 28.
[CS231n] Lecture 7 | Training Neural Networks II 지난 강의를 돌이켜보면 Neural network에서 가장 중요한 것은 바로 최적화 문제였다. vanilla gradient descent를 하게되면 위 식처럼 weight를 초기화 해준다. 여기서 batch단위로 끊어서 한게 SGD이다. 미니 배치 안에서 데이터 loss를 계산하고, 그리고 gradient의 반대 방향을 이용해서 파라미터 벡터를 업데이트 시켜준다. 그런데 SGD의 문제점이 있다. 손실함수의 모양에 따라 영향을 많이 받는다. 위 그림처럼 타원 모양을 갖게 되면 저 빨간색 점에서 스마일표시까지 어떻게 찾아가게 될까? 위의 경우 loss가 수직 방향의 가중치 변화에 훨씬 더 민감하게 반응하여서 빨간색 선처럼 gradient의 방향이 매우 크게 튀면.. 2020. 11. 28.
[CS231n] Lecture 6 | Training Neural Networks I 오늘의 학습내용이다. 우리가 network parameter를 최적화하는 방법 중 Gradient Descent Algorithm에 대해서 배웠다. 그리고 모든 data를 가지고 gradient descent Algorithm에 적용을 하면 계산량이 많기 때문에 SGD(Stochastic Gradient Descent) Algorithm을 이용한다. Sample을 뽑아내 Gradient Desscent Algorithm을 사용하는 방법이다. 처음에 모델을 어떻게 선정해야 하고, Training 할 때 유의해야할 사항은 무엇인지 평가는 어떻게 해야하는지 한 번 알아보자. Activation Function의 종류에.. 2020. 11. 28.
[AI Engineer & Data Scientist가 되는 날까지] 직접 설계한 개인 로드맵 (커리큘럼) 인공지능 & 데이터 사이언스에 관심이 있는 대부분의 사람들의 대표적인 고민. "데이터 사이언티스트 관련 직무를 희망한다." "그래서 데이터 공부를 시작하려 한다." "근데 분야가 너무 많고 무엇부터 시작해야 할지 모르겠다." "공부해야 할 것이 너무 많다. 감이 안 잡힌다." 이러한 뉘앙스(?)의 고민들이 굉장히 많을 것이다. 비전공자들이나 맨 처음 도전해보려는 자들에겐 위와 같은 고민들에 공감할 것으로 예상한다. 특히, 로드맵. 커리큘럼. 구글링을 하기 시작하고 자료들은 넘쳐나서 무엇부터 시작해야 할지 감이 잡히질 않는다. 필자 또한 맨 처음 시작할 때 그러하였다. 구글링과 카카오톡 오픈 채팅방, 온/오프라인 교육 등등 여러 노력을 하였다. 그러다 보니 "음.. 어떠한 느낌인지 감이 잡혔다." "그렇다.. 2020. 9. 5.