일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- pytorch
- codingtest
- 프로그래머스
- selenium
- 시각화
- coursera
- 웹크롤링
- 코테
- Tensor
- Cosine-similarity
- Python
- 협업 필터링
- TF-IDF
- 알고리즘
- Overfitting
- SGD
- 데이터 엔지니어링
- 코딩테스트
- 딥러닝
- 부스트캠프
- 분산 시스템
- 파이썬
- wordcloud
- recommendation system
- 추천시스템
- 데이터
- 백준
- 추천 시스템
- 웹스크래핑
- 머신러닝
- Today
- Total
목록AI/Deep Learning (10)
개발자식

CNN - Convolutional Neural Network의 약자로 일반 Deep Neural Network(DNN)에서 이미지나 영상과 같은 데이터를 처리할 때 발생하는 문제점들을 보완한 방법이다. - convolution 작업을 수행하는 신경망 DNN의 문제점은? - 이미지는 480x480과 같은 형태로 표현되어 하나의 row로 표현되지 않아 하나의 row로 변환하게 되는 순간 데이터는 큰 손실을 갖게 된다. - 그래서 DNN은 이미지 행렬을 하나의 row로 만들고 신경망에 입력으로 넣어 가중치를 계산하여 정보 손실이 크다. - CNN은 사람이 보는 것처럼 이미지 행렬 2차원 배열에서 가로, 세로축 모두 합성곱 연산과 풀링 연산으로 특징점을 추출하기에 정보 손실이 적다. - 연산량도 CNN이 더 ..

AI vs Machine Learning vs Deep Learning - AI(인공지능)은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술이다. - 머신러닝은 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야이다. - 딥러닝은 머신러닝 알고리즘 중에 인공 신경망을 기반으로 한 방법들을 통칭한 것이다. + 딥러닝의 등장으로 머신러닝의 실용성은 강화됐고, 인공지능의 영역은 확장됐다. 머신러닝 vs 딥러닝 - 머신러닝은 특징을 추출하는 부분과 분류를 하는 부분이 별개의 부분으로 동작한다. - 딥러닝은 인공신경망으로 구성되며, 신경망을 구성할 때 특징 추출에 대한 부분과 분류에 대한 부분이 같이 하나의 모델로 표현된다. 생활 속 인공지능..

BERT (Bidirectional Encoder Representations from Transformers) - Google이 공개한 AI 언어 모델로 일부 성능평가에서 인간보다 높은 정확도를 보이며 NLP 딥러닝 모델로 주목을 받았다. - 기존 단방향 자연어 초리 모델의 단점을 보완한 양방향 자연어 처리 모델이다. - 트랜스포머를 이용하여 구현되었으며, 방대한 양의 텍스터로 사전 훈련된 언어 모델이다. 학습 구조 1. NSP (다음 문장 예측) 2. MLM (문장에서 가려진 단어(토큰)를 예측) Input 1. Segment embedding을 위해 문장을 BERT의 입력 형식에 맞게 변환시킨다 -> 문장의 시작 : [CLS], 문장의 끝 : [SEP] 2. 한 문장에 있는 단어들에 대해 token..

딥러닝 Summary - layer size, normalization, batch size, epoch, unit size, loss function, learning rate -> 하이퍼 파라미터 - layer size, unit size가 결정하기 어렵다.(그래서 전이 학습 사용) 작게 만들고 크게 늘리는 방법 - 모델을 더더 복잡하고 오래 만들면 risk(=error, cost)가 떨어진다. -> 하지만 웬만해서 이런 투자를 하지 못한다. Feautre design -> Network design -> Network generator design

Batch Normalization - input data에 대해 Standardization과 같은 Normalization을 적용하면 전반적으로 model의 성능이 높아진다. - 데이터 내 Column들의 Scale에 모델이 너무 민감해지는 것을 막아주기 때문이다. - Batch 단위로 학습을 하게 되면 발생하는 Internal Covariant Shift 문제를 개선해준다. ->Internal Covariant Shift : 학습 과정에서 계층 별로 입력의 데이터 분포가 달라지는 현상 -> 신경망의 경우 Normalization이 제대로 적용되지 않으면 최적의 cost 지점으로 가는 길을 빠르게 찾지 못한다. - 이러한 Normalization을 input data 뿐만 아니라 신경망 내부의 중간에..

Dropout - 신경망에 적용할 수 있는 효율적인 오버피팅 회피 방법 중 하나 - Training을 진행할 때 매 Batch마다 Layer 단위로 일정 비율 만큼의 Neuron을 꺼뜨리는 방식을 적용 - Test / Inference 단계에서는 Dropout을 걷어내어 전체 Neuron이 살아있는 채로 Inference를 진행해야 한다. - 전반적으로 오버피팅을 줄여주므로 Test data에 대한 에러를 더욱 낮출 수 있게 해 준다. - 2012년도 ImageNet Challenge에서 우승한 Alexnet은 마지막 2개의 Fully-connected layer에 Dropout을 적용함(p==0.5) -> 보통 layer마다 다 dropout을 넣지는 않는다. 효과 : - 동일한 데이터에 대해 매번 다..