728x90
반응형

딥러닝 14

[pytorch] 순환 신경망(Recurrent neural network, RNN) 이란? / RNN을 Pytorch로 구현 실습 코드

DNN과 RNN 비교딥러닝에서 데이터의 시간적 연속성을 처리하는 방법은 모델 선택에 중요한 영향을 미치는데요. 우선 DNN과 RNN을 비교하여 시간적 연속성의 중요성을 살펴보시죠.시간적 연속성을 고려하지 않은 경우- 왼쪽의 수식에서는 입력 데이터 \( x_t \)가 주어졌을 때, 은닉층 \( h_t \)가 가중치 \( W_{xh} \)와 활성화 함수 \( f(\cdot) \)을 통해 계산됩니다. 이 은닉층의 출력 \( h_t \)는 다시 가중치 \( W_{hx} \)와 활성화 함수 \( g(\cdot) \)를 거쳐 최종 출력값 \( y_t \)를 생성합니다.- 이 경우, 각 시점 \( t \)의 데이터는 독립적으로 처리됩니다. 이전 시점의 정보는 고려되지 않으므로, 모델은 시간적 연속성이나 데이터 간의 ..

pytorch 2024.09.24

[pythonML] 앙상블(ensemble model)이란? | 앙상블의 종류 | 편향 (Bias)과 분산(Variance)

앙상블(ensemble)이란?축구 경기를 준비하는 감독을 생각해 보세요.감독님은 팀을 구성할 때, 각 선수의 특성과 능력을 고려하여 최적의 선수들로 조합을 만들겠죠!?  예를 들어,빠른 스피드를 가진 공격수, 강력한 방어력을 가진 수비수, 경기를 조율하고 전략을 이끄는 미드필터, 골을 지키는 데 탁월한 골키퍼 등이 감독님은 각 선수의 장점을 최대한 활용해 팀을 구성하고, 이들이 함께 협력하여 경기에서 승리할 수 있도록 합니다.  각 포지션 선수들은 저마다 다르게 경기에 기여하지만, 이들이 잘 조화되었을 때 팀은 최상의 성과를 내겠죠. 앙상블 모델도 이와 비슷하게 작동합니다. 각 머신러닝 모델은 축구팀의 선수들처럼특정한 역할을 맡고 있어요. 각 모델이 가진 강점을 결합함으로써, 하나의 모델이 혼자서 이루지..

pythonML 2024.08.27

[pytorch] 학습의 가속화를 위한 배치 정규화(Batch Normalization)

1. 입력 데이터 정규화딥러닝 모델에 입력되는 데이터는 각기 다른 범위의 값들을 포함할 수 있습니다. 예를 들어, 어떤 특성은 1에서 5 사이의 값을 가질 수 있고, 다른 특성은 1000에서 99999 사이의 값을 가질 수 있습니다. 이러한 데이터를 모델에 직접 입력하면 학습 과정에 부정적인 영향을 미칠 수 있습니다.위 이미지에서 데이터는 '몸무게'와 '키'라는 두 특성을 갖고 있어요. 몸무게의 단위는 킬로그램(kg)이며, 키의 단위는 센티미터(cm)입니다.- 왼쪽 표에서 몸무게는 60kg에서 90kg 사이고, 키는 170cm 에서 185cm 사이로 측정되어 있어요. 이러한 데이터를 기계 학습 모델에 직접 적용하면, 더 큰 숫자를 갖는 특성('키')이 모델에 더 큰 영향을 미칠 위험이 있습니다. 모델은 ..

Deep learning 2024.05.09

[밑바닥 DL] 4.word2vec와 추론 기반 기법 (feat.CBOW와 Skip-gram 모델로 단어 학습)

단어의 의미를 이해하고 처리하는 방법으로는 세 가지가 있다고 앞에서 설명했습니다.1. 시소러스를 활용한 기법2. 통계 기반 기법 시소러스와 통계 기반 기법(feat.동시 발생행렬, 코사인 유사도)자연어 처리란? 자연어 처리(Natural Language Processing, NLP)는 인간의 언어를 컴퓨터가 처리하도록 하는 인공지능의 한 분야입니다. NLP의 목표는 인간의 언어를 이해하고 생성할 수 있는 시스템을 개resultofeffort.tistory.com  PPMI의 한계와 차원 감소(feat.SVD)1.PPMI의 한계 PPMI 에는 몇 가지 제약이 존재합니다. 가장 중요한 문제 중 하나는 말뭉치 내 어휘의 수가 증가함에 따라, 단어 벡터의 차원 또한 비례하여 증가한다는 것입니다. 예를 들어, 어..

밑바닥 DL 2024.05.01

[Deep Learning] 인공지능의 기초: 퍼셉트론부터 인공 신경망까지

퍼셉트론의 개요 퍼셉트론은 인공 신경망(artificial neural network)의 기초적인 형태 중 하나로, 이진 분류 문제를 위한 간단한 알고리즘입니다. 입력값 (Input): 퍼셉트론은 하나 이상의 입력값을 받습니다. 이러한 값들은 각각의 특성(feature)을 나타내며, 이를 바탕으로 결정을 내립니다. 가중치 (Weights): 각 입력값에는 가중치가 부여됩니다. 이 가중치는 학습 과정에서 조절되며, 입력값의 중요도를 조절하는 역할을 합니다. 가중합 (Weighted Sum): 각 입력값과 그에 대응하는 가중치의 곱을 모두 합한 값입니다. 활성화 함수 (Activation Function): 가중합이 어느 임계값을 넘으면 퍼셉트론은 1을 출력하고, 그렇지 않으면 0을 출력합니다. 이를 결정하..

Deep learning 2024.02.06

[Deep learning] 가중치 초기화(weight initialization) (feat. Xavier, He,normal, uniform)

0. 딥러닝 모델 학습 / 모델 훈련 프로세스1. 모델 초기화(Initialization): 최초 가중치(weight) 값을 설정합니다.2. 예측(Prediction): 설정된 가중치와 입력 feature(X) 값을 사용하여 예측 값을 계산합니다.3. 손실(Loss) 계산: 예측 값과 실제 값의 차이를 계산하여 손실 값을 얻습니다.4. 가중치 업데이트(Weight Update): 손실을 최소화하기 위해 가중치를 조정합니다. 이 과정은 경사 하강법 등의 최적화 알고리즘을 사용하여 수행됩니다.1. 가중치 초기화의 중요성가중치 초기화는 딥러닝 모델을 학습시키기 위해 가중치들을 어떤 값으로 초기화할지 결정하는 중요한 단계입니다. 초기 가중치는 모델이 학습을 시작할 때의 출발점을 의미하며, 이 값들이..

Deep learning 2023.09.06

[pytorch] Convolutional Neural Network (CNN) 로 FashionMNIST 구현해보기

fashion_mnist 데이터셋을 사용하여 합성곱 신경망을 직접 구현해 보겠습니다. fashion_mnist 데이터셋은 토치비전에 내장된 예제 데이터로 운동화, 셔츠, 샌들 같은 작은 이미지의 모음이며, 기본 MNIST 데이터셋처럼 열 가지로 분류될 수 있는 28x28 픽셀의 이미지 7만 개로 구성되어 있다. 데이터셋을 자세히 살펴보면 훈련 데이터는 0-255 사이의 값을 갖는 28x28 크기의 넘파이 배열이고, 레이블(정답) 데이터는 0-9 사이 정수 값을 갖는 배열입니다. 이전 포스팅에서는 Deep Neural Network (DNN)로 FashionMNIST를 구현해 보았는데요! https://resultofeffort.tistory.com/95 [pytorch] Deep Neural Networ..

pytorch 2023.04.28

[pytorch] tensor(텐서) 생성/이해/조작

텐서는 파이토치에서 가장 기본이 되는 데이터 구조이다. 넘파이의 ndarray와 비슷하며 GPU에서의 연산도 가능하다. 1. 텐서(tensor) 생성 import torch print(torch.tensor([[1,2],[3,4]])) # 2차원 형태의 텐서 생성 print(torch.tensor([[1,2],[3,4]], device = "cuda:0")) # GPU에 텐서 생성 print(torch.tensor([[1,2],[3,4]], dtype = torch.float64))# dtype을 이용하여 텐서 생성 2. 텐서를 ndarray로 변환 temp = torch.tensor([[1,2],[3,4]]) temp.numpy() # 텐서를 ndarray로 변환 temp.to("cpu").numpy(..

pytorch 2023.03.19

[pytorch] 딥러닝 학습 순서 / 딥러닝의 종류

1. 딥러닝이란? 딥러닝은 인간의 신경망 원리를 모방한 심층 신경망 이론을 기반으로 고안된 머신러닝의 일종이다. 즉, 딥러닝이 머신러닝과 다른 큰 차이점은 인간의 뇌를 기초로 하여 설계했다는 것이다. 인간의 뇌가 엄청난 수의 뉴런과 시냅스로 구성되어 있는 것에 착안하여 컴퓨터에 뉴런과 시냅스 개념을 적용했다. 각각의 뉴런은 복잡하게 연결된 수많은 뉴런을 병렬 연산하여 기존에 컴퓨터가 수행하지 못했던 음성, 영상인식 등 처리를 가능하게 한다. 2. 딥러닝 학습 순서 모델 정의 : 신경망을 생성한다. 일반적으로 은닉층 개수가 많을수록 성능이 좋아지지만 과적합이 발생할 확률이 높다. 즉, 은닉층 개수에 따른 성능과 과적합은 서로 상충 관계에 있다. 신경망을 제대로 생성하는 것이 중요하다. 모델 컴파일 : 활성..

pytorch 2023.03.12

[pytorch] 머신러닝 딥러닝의 차이 / 머신러닝 학습 순서

1. 인공지능, 머신러닝과 딥러닝의 차이 인공지능(Artificial Intelligence)은 인간의 지능적 행동을 모방하거나 재현하는 컴퓨터 시스템을 말합니다. 머신러닝은 인공지능의 한 분야로, 데이터를 통해 스스로 학습하고, 예측하거나 결정을 내릴 수 있는 알고리즘과 기술의 개발을 목표로 합니다. 이는 데이터로부터 패턴을 발견하고, 이를 바탕으로 예측 또는 결정을 내리는 모델을 만드는 과정을 포함합니다. 딥러닝은 머신러닝의 하위 분야로, 주로 인공신경망(특히 깊은 신경망)을 사용하여 복잡한 문제를 해결합니다. 딥러닝은 대규모 데이터에서 고수준의 추상화와 패턴 인식을 수행하는 능력을 가지고 있습니다. 머신러닝과 딥러닝 모두 학습 모델을 제공하여 데이터를 분류할 수 있는 기술이다. 하지만 접근 방식에 ..

pytorch 2023.03.12
728x90
반응형