Loading...
2023. 1. 2. 01:45

convolution의 backpropagation 대충

1. convolution은 미분해도 여전히 convolution convolution을 미분하면 도함수와 convolution이 된다. 앞에 있는 f가 커널이라는 거 알지? 2. convolution의 직관적인 계산 그림 처음에는 w1,w2,w3가 x1,x2,x3에 만나서 o1 다음으로 한칸 옆으로 가서 x2,x3,x4를 만나서 o2 다음으로 한칸 옆으로 가서 x3,x4,x5를 만나서 o3 backpropagation을 위해 미분을 해보면 여전히 kernel과의 convolution이 된다는 것을 위에서 보였으므로 왜 x로 전달되느냐 oi의 미분이 xi이기 때문임 $\delta$는 loss를 o로 편미분한 값이다. loss를 w로 미분한것이 $\delta$와 x의 곱으로 나타남 convolution을 ..

2023. 1. 1. 22:45

비전공자도 이해할 수 있는 AI지식 -내비게이션은 어떻게 막히는 구간을 알까-

1. 내비게이션, 이제는 운전자에게 없어서는 안되는 필수품 내비게이션이 등장하면서 우리의 운전 습관은 완전히 달라졌습니다. 당장 처음 본 낯선 장소에 뚝 떨어져도, 내비게이션만 있으면 정확한 현재 위치와 이동 경로를 알 수 있게 되었습니다 뿐만 아니라 요즘은 카카오 택시 등의 서비스를 이용하면 내비게이션이 통합되어 아예 도착지가 미리 입력되어 있기 때문에 더 이상 도착지를 택시기사에게 말해줄 필요도 없습니다. 더군다나 내비게이션은 예상 도착 시간까지 정확히 예측해줍니다. 이제 내비게이션이 없는 운전은 상상도 할 수 없습니다. 이제는 스마트폰 없는 일상을 상상할 수 없듯이, 내비게이션 없는 운전은 상상하기 힘들어졌습니다. 2. 내비게이션은 왜 똑똑해졌는가 이러한 변화에는 2가지 터닝포인트가 있었습니다. 첫..

2022. 12. 31. 18:20

batch size는 어떻게 설정해야하는가?

그냥 아무거나 정해도 되는 것 같지만 대단히 중요한 parameter 데이터 10만개 전부를 batch하니 gpu가 터지고 1개씩만 쓰자니 너무 오래 걸림 batch size가 커질수록 train,test function의 sharp minimizer에 도달하고 batch size가 작아질수록 flat minimizer에 도달한다는 것이 실험적으로 증명한 논문이 있다 위와 같은 그림에서 flat minimum은 train에서 조금만 벗어나봤자 testing에서 여전히 비슷하다는 것 sharp minimum은 train에서 조금 벗어나면 testing에서 매우 큰 차이를 보인다 일반적으로 test에서 모형이 잘 동작하기를 바란다 그러므로 flat minimum에서 generalization performa..

2022. 12. 31. 18:13

머신러닝 모델링 기본방법 - bootstrapping, bagging, boosting

1. bootstrapping 현재 데이터를 복원추출로 random sampling하여 얻은 여러 데이터로 학습하는 기법 각각의 sample 각각에서 모델을 만들어 예측의 consistence를 보고자 하는 것임 혹은 데이터가 부족할 때 데이터를 늘리고자 쓰는 기법 위 그림은 bootstrapping을 이용한 bagging을 나타낸다고 볼 수 있겠다 2. bagging bootstrapping으로 만든 데이터 set으로 여러 모델을 만들고 각 모델의 성능을 적절하게 aggregation 한다 aggregation하는 방법은 voting이나 averaging 등이 있다. 보통 모든 학습데이터를 써서 결과를 내는게 성능이 좋아보이지만 의외로 80% sampling bootstrapping 하여 얻은 bagg..

2022. 12. 31. 01:57

값싼 비용으로 최대 효율을 낼 수 있을까 - lottery ticket hypothesis

1. introduction research의 트렌드를 바꿔버린 혁명적인 가설로 한번 제기된 이후 후속논문이 지금까지도 나오고 있음 첫 network인 A를 parameter initialization을 하고 적당히 training을 하여 91%의 정확도를 얻었다고 하자. 이후 training된 network를 pruning하여 B를 얻었다고 한다. 이 때 B의 현재 parameter에서 mask로 가려지지 않은 부분을 A의 첫 initialization된 parameter로 reset한 다음에 정확히 A와 동일한 training방법을 사용하여 reset한 B를 training하면 91%에 가까운 정확도를 얻을 수 있는 그런 network B가 존재할 수 있다는 뜻이다. 이런 network B를 lott..

2022. 12. 26. 03:14

Pytorch 기본 익히기1 -Pytorch가 무엇이고 기본 문법 익히기-

1. pytorch 소개 딥러닝을 다루는 대표적인 라이브러리인 Tensorflow, Keras, Pytorch중 페이스북 인공지능 연구팀에 의해 개발된 라이브러리 Pytorch python의 언어 구조와 굉장히 유사하며, 간결함 내부적으로 Computed Unified Device Architecture(CUDA)와 CUDA based Deep Neural Network(cuDNN)라는 API(application programming interface)를 이용해 GPU(graphics processing unit)연산을 가능하게 하여 연산 속도가 월등히 빠르다. numpy와 autogradient와 function을 제공해주는 framework 데이터의 형태로, numpy 구조의 array를 받아 te..