Loading...
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. 4. 17:49

컴퓨터의 근본 원리가 된 finite state machine 개념 익히기

1. definition 특정 input을 받으면 현재 상태에서 특정 상태로 변화하는 일종의 machine 컴퓨터 작동의 기본 원리 동그라미 2개 된 곳은 terminal state input을 받으면 S1에서 시작하고 a를 주면 S2로 간다는 뜻이 아니라 S1에서 a를 받으면 S2로 가는것 S2에서 b를 받으면 S1으로 가는 것이고 c를 받으면 S4(terminal state)로 가는것 2. example - theory of computation 모든 computing 연산은 finite state machine로 나타낼 수 있다. input state에서 algorithm, time, space 등을 받으면 output state로 변화하는 computing 연산 3. example - databa..

2022. 11. 3. 17:59

머신러닝 관점에서 information transmission

2. acceleration 시간에 따른 거리의 변화량이 속도이고 속도의 변화량이 가속도(acceleration) 2-1) python list와 numpy array python list는 각각의 element를 개별 object 단위로 저장 numpy array는 비슷한 data type들을 메모리 상 동일한? 비슷한? 위치에 한번에 잡아서 처리함  python list는 element 개별 주소를 부여하여 저장 numpy array는 동일한 type의 element를 한번에 묶어서 저장 numpy array는 c를 기반으로 만들어져 python list에 비해 가속(속도가 빠름)되었음   실제로 numpy array가 0.1초 정도 빠름 2-2) python과 C python도 C를 기반으로 만들어..

2022. 11. 2. 09:42

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

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