본문 바로가기

ML & DL (Machine Learning&Deep Learning)/Deep Learning (DL)7

[Deep Learning] Transformer - Attention is All You Need (NIPS 2017) ⊙ 개요 현 자연어 처리 모델 중 State of the Art로 활용되는 GPT, BERT 등의 모델의 기반이 되는 Transformer 아키텍처 논문(Attention is All You Need)에 대해 알아보겠습니다. ⊙ NMT (Neaural Machine Translation) NMT는 자동화된 언어 번역을 위한 End-to-End Learning 접근 방식입니다. NMT는 기존의 구문 기반 통계(Counting) 기계 번역 시스템의 여러 가지 약점을 극복할 수 있습니다. 기계 번역은 지난 몇 년간 큰 성공을 거뒀지만 여전히 어려운 작업으로 남아 있습니다. NMT와 언어 이해 모델의 최근 역사를 살펴보겠습니다. 2017년에 소개된 Transformer 아키텍처는 NMT에 중대한 이정표를 제공했.. 2022. 2. 26.
[Deep Learning] ResNet - Deep Residual Learning for Image Recognition (CVPR 2016) ResNet¶ Original Paper Link: https://arxiv.org/abs/1512.03385 개요¶ 깊은 네트워크에서 학습시키기 위한 방법으로 잔여 학습(residual learning)을 제안합니다. 기본적으로 네트워크가 깊어지면 깊어질수록 더욱 더 풍부한 특징들을 데이터로부터 추출해낼 수 있게 되고, 이로 인해 더욱 더 높은 성능을 뽑아 낼 수 있는것이 일반적으로 보여주는 양상이다. 다만, layer가 너무 깊어지면 오히려 성능이 위 그림처럼 떨어지는 것을 확인할 수 있다. 일반적으로 layer를 계속 쌓아 어느 일정 수준부터는 성능이 떨어지는것을 보완하기 위해 잔여 학습을 적용한 CNN(ResNet)을 통해 이러한 문제를 해결할 수 있음을 알 수 있다. 즉, 더 깊은 layer가 .. 2021. 11. 11.
[TensorFlow] Data Scaling의 중요성 개요¶ '핸즈 온 머신러닝' 2판 10.2장(372p)을 공부하면서 스케일 조정이 왜 필요할까에 대한 의문이 생겼다. 데이터 준비¶ In [1]: %tensorflow_version 2.x from tensorflow import keras In [2]: fashion_mnist = keras.datasets.fashion_mnist (X_train_full, y_train_full), (X_test, y_text) = fashion_mnist.load_data() Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz 32768/29515 [=============.. 2021. 9. 17.
[TensorFlow] 시퀀스 API를 사용하여 이미지 분류기 만들기 (2) 이전 글) 시퀀스 API를 사용하여 이미지 분류기 만들기 (1) 2021/02/02 - [Deep learning - TensorFlow] - [TensorFlow] 시퀀스 API를 사용하여 이미지 분류기 만들기 (1) [TensorFlow] 시퀀스 API를 사용하여 이미지 분류기 만들기 (1) ⊙ 케라스를 사용하여 데이터셋 적재하기 MNIST 데이터셋은 고등학생과 미국 인구 조사국 직원들이 손으로 쓴 70,000개의 작은 숫자 이미지를 모은 데이터이다. 각 이미지에는 어떤 숫자를 나타내 chocochip101.tistory.com 이어서 이미지 분류기 만들기 두 번째. 이번에는 모델을 컴파일해보고 새로운 샘플에 대하여 예측을 시행해 보겠다. ⊙ 모델 컴파일 compile() 메서드를 이용하여 손실 함수.. 2021. 2. 20.
[TensorFlow] 시퀀스 API를 사용하여 이미지 분류기 만들기 (1) ⊙ 케라스를 사용하여 데이터셋 적재하기 MNIST 데이터셋은 고등학생과 미국 인구 조사국 직원들이 손으로 쓴 70,000개의 작은 숫자 이미지를 모은 데이터이다. 각 이미지에는 어떤 숫자를 나타내는지 레이블되어 있으며, 머신러닝/딥러닝 분야에서 새로운 분류 알고리즘이 나올 때마다 얼마나 잘 작동하는지 MNIST 데이터셋을 이용한다. 패션 MNIST는 MNIST와 형태(28X28 = 784 픽셀 크기)가 같지만 손글씨 숫자가 아니라 패션 아이템을 나타낸다는 점에서 분류가 까다롭다. 그렇기 때문에 어떤 모델들에서 MNIST의 분류가 93%의 정확도를 내지만, 패션 MNIST에서는 83% 정도만 달성하는 경우가 있다. 케라스는 MNIST, 패션 MNIST, 캘리포니아 주택 데이터셋을 포함하여 널리 사용되는 데.. 2021. 2. 2.
[TensorFlow] 경사 하강법(Gradient Descent) ⊙ 경사 하강법(Gradient Descent) 경사 하강법(GD)은 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 일반적인 최적화 알고리즘이다. 경사 하강법의 기본 아이디어는 비용(2차원: y, 3차원: z)을 최소화하기 위해 반복해서 파라미터를 조정해 나가는 것이다. 파라미터 벡터 세타에 대해 비용 함수의 현재 그레디언트를 계산한다. 그리고 그레디언트가 감소하는 방향으로 진행하다가 0이 되는 지점이 최소인 것이다. 구체적으로 보면 초기값을 임의의 값으로 시작하여 한 스텝에 비용 함수가 감소되는 방향으로 진행하여 알고리즘이 최솟값에 수렴할 때까지 점진적으로 향상한다. ⊙ 학습률(Learning Rate) 경사 하강법에서 중요한 파라미터는 학습 스텝의 크기로, 학습률 하이퍼 파라미터(모델링을 할 때 .. 2021. 2. 1.
[TensorFlow] TensorFlow&Keras 개발환경 구축 ⊙아나콘다 (Anaconda) 아나콘다를 선택한 이유 먼저 각종 수학/과학 라이브러리들을 같이 패키징 돼있기 때문에 라이브러리들을 수동으로 설치할 필요가 없다.( panda, numpy, scipy, sklearn, matplotlib, Jupyter Notebook ...) 로컬 컴퓨터의 가상 환경을 쉽게 생성, 저장, 로드할 수 있다. 이런 가상 환경 안에서 같은 모듈을 다른 버전으로 여러 개 설치하여 관리할 수 있다. ⊙아나콘다 설치 bradbury.tistory.com/60?category=830131 아나콘다(Anaconda) 설치 아나콘다(Anaconda) - Python 기반의 데이터 분석에 필요한(각종 수학/과학 라이브러리들) 오픈소스를 모아놓은 개발 플랫폼 - 가상 개발 환경을 설정하여 .. 2021. 2. 1.
반응형