본문 바로가기
728x90

Artificial Intelligence28

Recurrent Neural Networks(RNNs) Recurrent Neural Networks(RNNs) 위의 이미지는 RNN의 내부 구조를 보여준다. 입력(x_t), 이전 상태(h_(t-1)), 갱신된 상태(h_t), 출력(y_t) 간의 관계를 나타낸다. 화살표는 정보 흐름을 나타낸다. 순환 신경망(RNN)의 핵심 개념은 내부 상태(h)를 유지 관리하고 시퀸스를 처리하면서 각 시간 단계에서 업데이트한다. 이 업데이트는 재귀 관계를 통해 계산되며, 이 관계는 이전 시간 단계의 정보(h_(t-1))와 현재 입력(x_t)을 모두 고려한다. 이 함수(f_W)는 가중치(W) 집합에 의해 정의되며, RNN이 시계열 데이터를 처리하는 동안 시간 단계마다 동일한 가중치 집합을 사용한다. 텍스트와 이미지 모두 RNN이 내부 상태를 사용하여 시퀸스 데이터를 처리한다는.. 2024. 2. 29.
다중 선형 회귀(Multivariable Linear regression) 앞서 배운 x가 1개인 선형 회귀를 단순 선형 회귀라고 한다. 이번 챕터에서는 다수의 x로부터 y를 예측하는 다중 선형 회귀에 대해서 이해한다. 1. 데이터에 대한 이해(Data Definition) 다음과 같은 훈연 데이터가 있습니다. 앞서 배운 단순 선형 회귀와 다른 점은 독립 변수 x의 개수가 이제 1개가 아닌 3개라는 점입니다. 3개의 퀴즈 점수로부터 최종 점수를 예측하는 모델을 만들어보자 독립 변수 x의 개수가 3개이므로 이를 수식으로 표현하면 아래와 같다. H(x) = w1x2 + w2x2 + w3x3 + b 2. 파이토치로 구현하기 우선 필요한 도구들을 임포트 하고 랜덤 시드를 고정한다. import torch import torch.nn as nn import torch.nn.functio.. 2024. 2. 2.
Neurons with Recurrence 순환 신경망(RNN)의 개념과 순차 데이터를 처리하는 데 사용하는 방법에 대해 설명하겠습니다. 먼저 퍼셉트론(perceptron)에 대한 기본 구성 요소부터 설명드리겠습니다. 위의 이미지는 perceptron의 기본 구성 요소를 보여준다. 입력층은 X1부터 XM까지의 입력에 해당한다. 각 입력은 해당 가중치를 곱한 다음 비선형 활성화 함수를 통과하여 출력을 생성한다. 출력은 y로 표시된다. RNN의 피드백 루프는 은닉층의 출력을 은닉층의 입력으로 다시 연결하여 생성된다. 이미지에서는 이 피드백 루프가 표시되지 않지만 RNN의 중요한 특징이다. RNN은 텍스트, 오디오 또는 비디오와 같은 데이터의 시퀀스에서 정보를 학습하고 처리할 수 있는 인공 신경망의 한 유형이다. 이를 수행하러면 아키텍처에 피드백 루프.. 2024. 2. 1.
자동 미분(Autograd) 경사 하강법 코드는 requires_grad=True, backward()등이 나온다. 이는 파이토치에서 제공하는 있는 자동 미분(Autograd) 기능을 수행하고 있는 것이다. 파이토치의 학습 과정을 보다 더 잘 이해하기 위해서 자동 미분에 대해서 이해해 보자. 자동 미분(Autograd) 실습하기 자동 미분에 대해서 실습을 해보자. 임의로 2w^2 + 5라는 식을 세워보고, w에 대해 미분해 보겠습니다. import torch 값이 2인 임의의 스칼라 텐서를 w를 선언합니다. 이때 required_grad를 Ture로 설정합니다. 이는 이 텐서에 대한 기울기를 저장하겠다는 의미 한다. w = torch.tensor(2.0, requires_grad = True) 이제 수식을 정의한다. y=w**2 z.. 2024. 1. 26.
Sequence Modeling(시퀸스 모델링) 시퀀스 데이터 또는 시퀀스 모델링이라는 말을 할 때 정확히 무엇을 의미하는지 예를 들어 설명해 보겠습니다. 공이 움직이는 그림이 있다고 하고 , 이 공이 다음에 어디로 갈지 예측하는 것이 당신의 임무라고 했을 때 만약 공의 궤도, 움직임, 이력에 대한 정보가 전혀 없다면 다음 위치에 대한 어떤 추측이나 예측도 정확히 말하면 무작위 추측일 것이다. 하지만 공의 현재 위치뿐만 아니라 과거 어디로 움직였는지에 대한 정보도 알려준다면 문제가 훨씬 쉬워진다. 이는 정말 단순한 직관적인 예시지만, 시퀀스 데이터와 시퀸스 모델링이라는 개념은 실제 세계의 많은 문제에 적용할 수 있다. 예를 들어, 시계열 데이터(주식 가격, 날씨 데이터)를 예측하거나, 음악을 작곡하거나, 기계 번역을 하거나, 로봇을 제어하는 데 사용할.. 2024. 1. 26.
Linear Regression(선형 회귀) 1. 데이터에 대한 이해(Data Definition) 선형 회귀를 위해 사용할 예제는 공부한 시간과 점수에 대한 상관관계이다. 1시간 : 2점 2시간 : 4점 3시간 : 6점 4시간:? ex) 위에 표를 보고 어떤 학생이 1시간 공부를 했더니 2점을 맞았다. 그렇다면, 내가 4시간을 공부한다면 몇 점을 맞을 수 있을까? 이 질문에 대답하기 위해서 앞서 나온 정보를 이용해야 한다. 이때 예측을 위해 사용하는 데이터를 훈련 데이터셋(training dataset)이라고 한다. 학습이 끝난 후, 이 모델이 얼마나 잘 작동하는지 판별하는 데이터셋을 테스트 데이터셋(test dataset)이라고 한다. 1-2. 훈련 데이터셋의 구성 앞서 텐서에 대해서 배웠는데, 모델을 학습시키기 위한 데이터는 파이토치의 텐서의.. 2024. 1. 24.
728x90