Loading...
2022. 11. 9. 01:30

딥러닝 경량화 기법 pruning은 무엇이고 왜 등장했는가

1. motivation 태어날 때 50조개의 neuron이 있는데 1년 뒤에는 1000조개의 neuron이 있다고함 이제 어른이 되면서 자주 쓰는 neuron은 보존하면서 자주 쓰지 않는 neuron은 없어지면서 500조개로 줄어든다고함 비슷한 원리로 막 설계한 machine learning model을 training하면서 complexity를 늘려가는데 자주쓰는 parameter는 살리고 자주 쓰지 않는 parameter는 제거 중요한 parameter는 살리고 중요하지 않은 parameter는 제거하는 기법 neural network뿐만 아니라 decision tree에서도 주로 사용해왔다 2. pruning을 왜 하는가? network의 parameter를 잘라내니까 복잡도가 감소함 복잡도가 감..

2022. 11. 7. 10:46

CPU,GPU,TPU,.... 여러가지 processing unit 알아보기

1. hardware acceleration 일반적으로 CPU에서 software를 수행하는 것보다 더 효과적으로 연산, 기능을 수행하고 싶을 때 hardware acceleration을 사용함 latency를 줄이고 throughput를 증가시키기 위한 목적 CPU도 일종의 accelerator라고 할 수는 있으나 general processor에 가깝고 hardware accelerator는 보통은 GPU, TPU 등등을 의미함 CPU 자체에서 모든 데이터 계산을 할 수도 있고 GPU같은 곳에 특화된, 병렬처리 했을 때 더 좋은 데이터 같은 경우 GPU에 보내 처리를 하여 CPU로 돌려받는 식으로 데이터 처리를 함 CPU와 hardware accelerator가 정보를 주고 받으며 데이터 처리 2. ..

2022. 11. 6. 21:47

컴퓨터 과학에서 말하는 compression의 개념

1. 손실압축과 비손실압축 비손실압축은 압축된 자료를 원래 자료로 복원하면 그대로 원래 자료가 나오는 압축 방식 손실압축은 압축된 자료를 원래 자료로 복원해도 원래 자료 그대로 나올수가 없는 압축 방식 mp3같은 소리 압축 방식은 original 소리에 사람이 들어도 이해할 수 없는? 너무 저주파나 너무 고주파를 Fourier transform으로 잘라 남은 것을 합쳐 가청주파수로 만드는 방식 그러니까 복원해도 원래 original 소리로 완벽하게 나오지 않는 대표적인 손실 압축이다   2. Huffman coding message에 대한 encoding 약속이 original message의 길이에 depend하는 방식 original message에 등장을 자주하는 단어는 적은 bit로 압축하고 등장..

2022. 11. 5. 17:01

경량화 모델하면 가장 먼저 떠오르는 MobileNetV1의 핵심 아이디어

1. idea MobileNet v1의 핵심 아이디어는 depthwise separable convolution 일반적인 convolution 연산을 2단계로 분리하여 depthwise convolution을 수행하고 pointwise convolution을 수행 계산량이 일반적인 convolution에 비해 줄어드는데 정확도는 오히려 좋아지거나?? 아주 조금 손해를 보는 정도 2. 일반적인 convolution M channel 커널이 M channel input에 한번에 convolution을 수행함 원래 depthwise separable이 연산량이 높을수도 있다고 생각했는데 지금부터 항상 감소한다는 것을 증명할 것이다. kernel size를 $D_{k} \times D_{k}^{'}$, inpu..

2022. 11. 3. 17:59

머신러닝 관점에서 information transmission

1. introduction 모든 network는 기본적으로 graph로 나타낼 수 있다. C가 작성만 하면 컴퓨터가 이해하는 것이 아니고 compile 과정을 거쳐서 기계어로 최종 번역되어야 이해할 수 있다. network도 마찬가지로 그냥 GPU에서 돌아가는 것이 아니라 graph lowering 과정을 거쳐야 hardware에서 이해할 수 있다. 이러한 역할을 해주는 것이 deep learning compiler 지금까지 software측면에서 network만 주로 공부했지만 실제로 network가 CPU,GPU 같은 hardware 환경에서 돌아가기까지 생각보다 많은 일이 있다. 2. acceleration 시간에 따른 거리의 변화량이 속도이고 속도의 변화량이 가속도(acceleration) 2-..

2022. 11. 2. 09:42

딥러닝에서 parameter search하는 gradient descent와 기하학적 의미

1. history 사람이 프로그래밍을 통해 모델을 설계하여 일을 자동으로 해주는 도구를 만들었지만 초기에는 hyperparameter밖에 없어서 사람이 모든 모수를 직접 정해야했다 머신러닝 시대로 오면서 데이터의 어떤 feature를 주로 쓸 지 모델 설계를 사람이 여전히 해야했지만 일부 parameter를 모델이 자동으로 찾아주었다. 물론 여전히 많은 hyperparameter가 존재했다. 딥러닝 시대로 오면서 사람이 input, output을 던져주면 모델이 알아서 feature를 잡아 모델을 설계했고 대부분의 parameter도 알아서 찾아준다. 극히 일부의 hyperparameter는 여전히 존재했다. 추후에는 진짜 모델 설계부터 parameter search까지 기계가 알아서 해주는 시대가 올..