Root 65

3장 word2vec

통계기반기법 문제점 - 대규모 말뭉치 다루기 힘들다. 단어 수가 100만개라면 100만x100만 크기의 행렬 만들어야 함 - 말뭉치 전체의 통계를 이용해 단 1번의 처리만으로 분산 표현을 얻어서 말뭉치가 크면 눈물만.. 추론기반기법 통계 기반 기법처럼 "단어의 의미는 주변 단어에 의해 형성된다"는 분포 가설에 기초. "단어의 동시발생 가능성"을 얼마나 잘 모델링하는가가 중요한 연구 주제. 통계기반기법 추론기반기법 1번 학습 미니배치로 학습 새로운 단어 넣으면 처음부터 다시 학습 새로운 단어 넣어도 기존 가중치를 초깃값으로 학습하면 됨. 분산 표현의 성격 / 정밀도는 비슷 둘을 융합한 GloVe 기법! CBOW 모델 맥락을 보고 target 추측 맥락에 포함시킬 단어 n개 = 입력층 개수 n개 입력으로 맥..

ShuffleNet

1. Introduction 제한된 계산에서 최고의 정확도를 추구하고 일반적인 모바일 플랫폼에 중점을 둔다. 보통의 standard network architecure는 프루닝, 압축, 낮은 비트에 중점을 두지만 우리는 원하는 계산 범위를 위해서 특별히 설계된 효율적인 standard architecture를 찾는 걸 목표로 한다. Xception, ResNeXt같은 애들은 밀도 높은 1x1 convolution이 있어서 비용이 많이 들고 작은 네트워크에서 효율이 떨어진다. 그래서 효율을 높이기 위해 pointwise group convolution을 사용하고, 이를 사용하면서 발생하는 부작용을 극복하기 위해 channel shuffle로 feature channel 사이에 정보가 흐르도록 도와준다. 이..

CV/논문 2021.04.08

assignment 1 - Softmax

얘도 svm과 마찬가지로 3강에서 알려줌 1. Code cs231n/classifiers 폴더에 있는 softmax.py를 고쳐서 씁니도 numeric instability에 빠지지 않기 위해서 score중에 최대 값을 score 전체에 빼서 모든 값이 0이하가 되도록 만든 다음에 loss랑 grad를 구하면 된다. loss를 구할땐 score를 구해서 softmax함수를 취한 다음에 정답 클래스의 확률에 -log()를 취하면 됨! softmax loss는 log에 확률값을 넣는 거라 최소 0(확률이 1일때)에서 최대 무한대(확률 엄청 클 때)의 값을 가진다. grad는 아래 사진처럼 구하면 됨(사실 잘 모르겟음;;;;) loop 안 돌고 행렬 버전으로 하면 됨 2. Inline Question Q. W..

CV/cs231n 2021.03.27

assignment 1 - SVM

두번째 과제.. 3강에서 알려주는 SVM 입니도 1. Code KNN과 다르게 svm.ipynb 파일과 assignment1/cs231n/classifiers 폴더에 있는 파일 2개를 수정해야 한다. linear_svm.py 파일에서는 loss와 grad를 naive하게 구하는 것과 vectorized 버전으로 구하는 두가지 버전의 함수를 구현해야 한다 loss는 아래의 식으로 구한다. 위의 식을 대입해서 loss를 구하면 loss = max( 0, 5.1 - 3.2 + 1) + max( 0, -1.7 - 3.2 + 1) = 2.9 + 0 = 2.9 정답이 cat이기 때문에 car와 frog에 대한 값을 각각 계산하고 더해준다. dW는 loss function L을 W에 대해 미분한 값이다. loss n..

CV/cs231n 2021.03.26

MobileNets 논문

Abstract MobileNets라고 불리는 mobile과 embedded vision applications를 위한 효율적인 모델 소개 MobileNets는 depth-wise separable convolutions를 기반으로 하는 더 가볍고 깊은 신경망 global hyperparameter인 width multiplier와 resolution multiplier 2가지를 통해 model builder는 문제의 제약 조건에 따라 애플리케이션에 적합한 크기의 모델을 선택할 수 있음 resource와 acc 사이의 tradeoff, ImageNet 분류에서 좋은 성능을 보임을 확인 object detection, finegrain cliassification, face attributes, large..

CV/논문 2021.03.25

assignment 1 - KNN

cs231n.github.io/assignments2020/assignment1/ 링크 들어가서 과제 파일 다운 받아서 압축 풀고 저거 인터넷에 링크 갖다 붙이면 알아서 압축 파일 다운 받아진다... 압축 풀어서 사진과 같이 폴더에 그대로 넣어주면 데이터 준비 끝 ㅋ (여기까지 20분 걸림 ㅡ.,ㅡ_) 1. Code KNN은 knn.ipynb 파일과 assignment1/cs231n/classifiers 폴더에 있는 k_nearist_neighbor.py 파일을 수정해서 실행 k_nearist_neighbor.py 파일에서 작성해야 하는 코드들은 1. test와 train 데이터의 거리를 3가지 버전으로 계산하는 함수 - compute_distances_two_loops - compute_distance..

CV/cs231n 2021.03.22

2장 자연어&단어 분산 표현

시소러스 유의어 사전. 동의어나 유의어가 한 그룹으로 분리되어 있음 단어의 상하위 / 전체or부분 으로 더 자세하게 구분할 수도 있음. 그러면 위 사진처럼 그래프 모양으로 정의. 이런 단어 네트워크를 이용해서 컴퓨터한테 단어 사이의 관계를 가르칠 수 있음. 단점 ... - 사람이 직접 하나하나 해서 귀찮고 시간도 많이 필요함. 비용 ㄷㄷ - 시대 변화에 대응하기 어려움. 안 쓰는 말이 될 수도 있고 새로운 말이 생길 수도 있음. - 빈티지 / 레트로 사이의 미묘한 차이 같은 걸 정의할 수 없음 통계 기반 기법 말뭉치 nlp연구 같은걸 생각해두고 수집된 대량의 텍스트 데이터 어쨌든 말뭉치는 사람들이 쓴 문장을 수집한 거라 문법, 단어 선택, 의미 같은 지식이 담겨있다고 볼 수 있음. 통계 기반 기법은 말뭉..