FLOPS? FLOPs?
·
AI/Deep Learning
딥러닝 모델의 성능을 들여다보던 중, FLOPS와 FLOPs가 다른 개념이라는 느낌을 받았다."엥..? S가 조금 더 작아진 놈이랑 뭐가 다르다는거니..." 헷갈리는 부분을 정리하고 가보자!! FLOPs(Floating Point Operations)는 부동소수점 연산을 의미한다.FLOPs의 연산은 사칙연산, root, log, exponential 등의 연산을 포함하며, 각 연산을 1회로 계산한다. FLOPS(Floating Point Operations Per Second)는 1초당 머신이 처리할 수 있는 부동소수점 연산의 수를 의미한다.한마디로 HW의 절대적인 절대적인 스펙을 말한다! reference! : https://kimbg.tistory.com/26
Stereo Vision 정리 글 공유
·
AI/Computer Vision
* Computer Vision 관련 논문을 읽으면서 나오던 생소한 단어들을 공부할 수 있음! * 스토리와 인과관계가 명확한 아주 감사한 글임! https://johnwlambert.github.io/stereo/
PyTroch DataLoader의 병렬 프로세싱!
·
AI/Deep Learning
다른 분이 작성한 PyTorch 코드를 보던 중, Dataset.__getitem__(index) 메서드에서 하드, 서버에 저장된 데이터를 불러오도록 구현한 것을 확인하였다. __getitem__(index) 는 학습 과정에서 사용되는 매서드인데, 학습 과정에서 batch를 만들기위해 매번 하드에 접근한다면 큰 시간적 비효율이 있을텐데 왜 이렇게 다들 구현을 한건지 궁금해졌다. 그래서 찾아보던 중 PyTroch의 똑똑한 기능을 알게되어 공유해본다. PyTrorch의 DataLoader는 기본적으로 병렬 프로세싱을 지원해 다음과 같이 CPU, GPU 자원을 시간효율적으로 사용할 수 있도록 지원한다. 여기서 병렬 프로세싱은, 아래처럼 GPU가 forward와 backward를 수행하는 동안, CPU는 디스크..
Tensorflow Custom Loss Function 만들기
·
AI
https://dacon.io/en/codeshare/4444
Cross Entropy Loss with Softmax 미분에 대한 이해
·
AI/cs231n
https://madalinabuzau.github.io/2016/11/29/gradient-descent-on-a-softmax-cross-entropy-cost-function.html Gradient descent on a Softmax cross-entropy cost function In this blog post, you will learn how to implement gradient descent on a linear classifier with a Softmax cross-entropy loss function. I recently had to implement this from scratch, during the CS231 course offered by Stanford on visua..
산술평균, 기하평균, 조화평균 의 이해
·
AI/Computer Vision
https://gaussian37.github.io/math-pb-averages/ 산술, 기하, 조화 평균gaussian37's bloggaussian37.github.io 해당 블로그의 포스팅을 보고 확실하게 이해할 수 있었다.평균값에 대해 더 깊게 이해할 수 있었고, 데이터를 더 넓은 관점으로 해석할 수 있을 것 같다.
LayerNorm 과 BatchNorm 의 차이
·
AI/Deep Learning
표본추출된 mini-batch내부 각 feature 값들의 mean, std를 구해 정규화를 진행해준다. https://docon.tistory.com/37: 더 자세한 분석입니다! Batch에 어떤 크기의 데이터들이 있든 관계없이, 샘플단위로 normalization을 시켜준다. 요점은, 내가 가져온 데이터 혹은 모델 내부에서의 latent vector가 어떤 연산을 하게되는지에 따라 적절한 Normalization 방식을 채택하면 좋을 것 같다. 예를들어, 데이터의 feature중, 특정 feature의 분포가 너무 큰 경우는 Gradient Exploading 등 학습 중 장애가 우려되기에, batch normal..
Stanford CS224N - NLP w/ DL | Winter 2021 | Lecture 4 - Syntactic Structure and Dependency Parsing
·
AI/cs231n
[ 강의 키워드 ] Syntatic Structure : "구문 구조", 문장을 하위구조로 쪼개어 보는 것 Constituency Structure : "구성 구조", 구문구조 방법중 하나 Dependency Structure : "의존 구조", 구문구조 방법중 하나 Universial dependencies : 위의 Constituency Structure 와 Dependency Structure 를 동시에 사용하는 구조 Dependency Grammar : 말그대로 의존구조의 문법 Treebank : 구문 분석한것을 tree 구조로 저장해놓은 것(사이트) Parser : 구문 분석기 Dependency Parser : 의존구조 분석기 (강의 뒷부분 메인 주제) Greedy transition-base..
Stanford CS224N NLP with Deep Learning | Spring 2022 | Guest Lecture: Scaling Language Models 강의 요약
·
AI/cs224n
https://www.youtube.com/watch?v=UFem7xa3Q2Q&list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ&index=24 위 스탠퍼드 cs224n 강의를 듣고 요약한 글 입니다. 틀린 부분은 지적해주시면 감사하겠습니다.^^ outlines 1. motivations for LM, 2. Orders of Magnitude of Data, 3. Universality of Scaling Laws, 4. scale up LM - consiquencies Fermi Estimates for LM 문제, 기초지식+논리추론, 효율적 대략적 근사치 추정 Why you study language? — motivation AI : our species best attempt ..
Transformer Encoder 동작 분석
·
AI/cs224n
30일 첼린지 1일차, 금요일 forward 순 ​ 'I like staying at home.' 이란 문장이, transformer 모델에 들어가서 output으로 나오는 과정을 원리와 데이터의 흐름을 중심으로 차근차근 생각해보았다. ​ 0. input sentence tokenizing input >>> 'I like staying at home.' tokenized >>> ['i', 'like', 'stay', '##ing', 'at', 'home', '.'] output(token_to_id) >>> [151, 3751, 6758, 19, 534, 616, 1, , , ..., ] output.shape = (max_seq_len, ) ​ WordPiece(BERT), 은전한닢, Mecab 등의 ..
딥러닝에서 "tensor" 란,
·
AI/Deep Learning
핵심 요약 "한마디로, Tensor는 수치화된 데이터를 저장하는 방식이다." "한마디로, Tensor는 Rank, Shape, Data Type 의 요소로 구분된다." "Tensor은 pytorch 라이브러리에서 정의한 ML계산용 클래스라 여겨도 무방할 듯 하다." -- 추후 깨달음 얻을 시 수정하겠음 pytorch 등 라이브러리를 사용하다보면 "tensor"라는 자료구조가 자주 등장된다. 배열인가? 싶으면서도 묘하게 다르고 아닌것같다. Q1. 그렇다면, AI를 공부하는 사람으로서 tensor를 어떻게 정의할 수 있어야할까? Q2. 배열과 비슷해보이는데 차이점은 무엇일까? 의 의문점이 우선 든다. 우선 pytorch 홈페이지의 설명을 보자. https://tutorials.pytorch.kr/beginn..
Transformer - Multihead Attention의 'attention score'을 root(d_k)로 나눠주는 이유는? <수학적 접근>
·
AI
해결하고자 하는 문제 Transformer에서 Attention weight를 계산하는데 있어서 root{d_k} 로 나눠주는 이유에 대해 주어진 expectation & variance property 와query key vector의 component q, k의 mean, variance를 이용해 설명하세요. 이 때, E(Q) = 0, VAR(Q) = 1, E(V) = 0, VAR(V) = 1 로 정규화되어있다 가정한다. (일단). 사용되는 hyperparameter 정리 (그래도 상관없음!) Q : 쿼리 묶음 (d_k x S) = (d_model/head수 x Seq_length)* q : 쿼리묶음중 하나의 쿼리벡터 (d_k x 1) K : key (d_k x S) 1. (d_model/head수 ..