1. motivation 모든 network는 기본적으로 graph로 나타낼 수 있다. C가 작성만 하면 컴퓨터가 이해하는 것이 아니고 compile 과정을 거쳐서 기계어로 최종 번역되어야 이해할 수 있다. network도 마찬가지로 그냥 GPU에서 돌아가는 것이 아니라 graph lowering 과정을 거쳐야 hardware에서 이해할 수 있다. 이러한 역할을 해주는 것이 deep learning compiler 지금까지 software측면에서 network만 주로 공부했지만 실제로 network가 CPU,GPU 같은 hardware 환경에서 돌아가기까지 생각보다 많은 일이 있다. high level단의 pytorch 같은 것으로 만든 모델은 edge device인 edge TPU나 Jetson ..
1. compression과 acceleration의 차이점 완전히 뜻이 달라보이는 두 단어는 보통 같이 따라다니는 단어라고??? compression같은 경우는 공간적으로 중요한 정보는 남기고 그렇지 않은 것은 제거하는 것으로 software level에서 하는 이야기 acceleration은 hardware level에서 시간적으로 속도 상승의 이야기 2. hardware의 성능이란 hardware는 보통 사람이 원하는 것을 수행해주는 도구의 역할을 함 사람이 무언가를 설계하여 software로 구현을 하면 compiler가 번역하여 그것을 hardware가 수행하여 output을 낸다 설계된 프로그램?에 사람이 input을 집어넣으면 algorithm에 의해 output이 나옴 사람이 이렇게 ..
1. data engineering? 1) 전통적인 데이터 엔지니어링 data cleansing후에 data preprocessing을 수행하고 정제된 데이터로부터 feature engineering을 통해 적절한 feature를 선택하면 task에 맞는 적절한 ML 알고리즘을 선택하고 선택한 알고리즘의 hyperparameter를 tuning한다 딥러닝 관점에서 ML 알고리즘을 선택하는 과정은 task에 맞는 적절한 backbone network를 선택하는 것과 비슷 hyperparameter를 선택하는 과정은 딥러닝에서는 loss나 optimizer나 batchsize 등등을 선택하는 것과 비슷하다 2) 모델을 학습하는 과정? task에 대한 데이터셋이 주어지면 cleansing..
1. overview matrix가 2차원에서 데이터를 모델링했으면 tensor는 3차원 이상에서 주어진 데이터를 모델링하고자함 mp3 음성 데이터는 rank1 tensor로 모델링할 수 있고 grey image는 rank2 tensor로 모델링할 수 있고 RGB 이미지는 rank3 tensor로 모델링할 수 있음 2. spectral decomposition 두 벡터 a ∈ Rm , b ∈ Rn에 대하여 a와 b의 outer product는 하나의 m*n행렬 X = a ⊙ b를 나타낸다. 바꿔말해서 하나의 m*n행렬이 두개의 0이 아닌 벡터의 outer product X = a ⊙ b 로 나타낼 수 있으면 행렬 X를 rank one matrix라고 부른다. 비슷하게..
1. introduction 이미 학습된 network에서 중요도가 낮은 parameter를 제거하여 model의 size를 줄이고자 하는 작업 parameter의 중요도를 어떻게 정의해야 좋은지 생각해보는 것이 주요 연구 과제 weight의 L2 norm이 크면 기여도가 높은 parameter? gradient가 크면 중요도가 높은 weight? 혹은 둘을 합쳐서 평가할 수도 있고 또 다른 metric을 생각해볼 수도 있다 학습된 parameter의 일부가 제거된 모습 2. structured pruning parameter를 그룹 단위로 pruning하는 기법들을 모두 일컫는 말 그룹이라는 것은 channel단위일수도 있고 filter 단위나 layer 단위일수도 있음 필요없는 (0에..
1. overview MobileNetV1은 depthwise separable convolution을 사용해 계산량을 줄이고 MobileNetV2는 inverted Residual block을 통해 계산량을 줄이고 MobileNetV3는 MobileNetV2에 Squeeze and excite를 사용해 계산량을 줄였다고함 2. MobileNetV2 ReLU6는 min(max(x,0),6)으로 ReLU에서 상한선을 6으로 고정한 함수 MobileNet 시리즈는 ReLU함수로 ReLU6를 사용 MobileNetV1과 MobileNetV2(stride=1, stride=2 version)의 기본 구조 비교 MobileNetV1은 depthwise convolution을 수행하고 pointwise co..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.