일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- human-in-the-loop
- lcel
- rag
- 강화학습
- 강화학습의 수학적 기초와 알고리듬 이해
- tool_calls
- pinecone
- subgraph
- Ai
- humannode
- 밑바닥부터시작하는딥러닝 #딥러닝 #머신러닝 #신경망
- add_subgraph
- update_state
- REACT
- summarize_chat_history
- toolnode
- chat_history
- tool_binding
- conditional_edge
- rl
- removemessage
- conditional_edges
- 밑바닥부터 시작하는 딥러닝
- langgrpah
- 추천시스템
- 강화학습의 수학적 기초와 알고리듬의 이해
- LangChain
- langgraph
- RecSys
- Python
- Today
- Total
목록Deep Learning (7)
타임트리
이번 게시물에서는 MLP를 사용할 때 발생하는 문제점을 알아보고, 이러한 문제점을 해결하기 위한 방법에 대해서도 함께 다룬다.1. Problems of MLP: Overfitting(1) Model Capacitiy(Complexity) Regression 문제를 가정해보자. Real vlaue의 분포가 3차 함수와 유사할 때, 두 가지 모델을 파라미터 관점에서 생각해보자. $H(x)$는 2개의 파라미터를 갖고 있는 데 반해, $H_2(x)$는 4개로 더 많은 파라미터를 갖고 있다. 이처럼 모델의 파라미터 개수가 증가할수록 즉, 모델이 복잡해질수록 더 복잡한 함수를 근사할 수 있다. 복잡한 현상을 예측하기 위해 MLP의 Model Capacitiy를 크게 만드는 방법은 두 가지가 있다.(1) Laye..
노트북 그래픽카드 중 하나인 MX450에서도 CUDA를 사용한 GPU 연산이 가능할까 궁금해서 설치해봤다. 된다..! 1. CUDA 설치 아래 사이트에 접속해서 본인의 그래픽카드의 Compute capability가 3.5가 넘는지 확인한다. 대부분 nvidia 공식 홈페이지 확인하라고 했는데, MX450은 검색이 안돼서 아래의 위키피디아를 찾아봤다. 다행히 7.5의 compute capability를 갖고 있고, CUDA도 지원한다. https://en.wikipedia.org/wiki/CUDA CUDA - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Parallel computing platform ..
"[식 5.13]으로 이끄는 과정은 생략합니다" 밑바닥부터 시작하는 딥러닝 5장을 읽던 중 뭔가 불편한 부분이 있었다. 172페이지 [식 5.13]과 관련된 내용인데, 딥러닝 공부를 시작하고자 마음 먹으면서 내가 밑바닥부터 시작하는 딥러닝을 고른 이유는 기초 책 중 수식이 많아보였기 때문이다. 그런데 생략이라니.. 따라서 구글링을 통해 비슷한 내용을 발견하고 완벽한 증명은 아니지만 유도 정도는 해보고자 했다. 아래는 이를 간단하게 정리한 내용이다. 5.6.1 Affine 계층¶ 신경망의 순전파에서는 가중치 신호의 총합($Y=XW+B$)을 계산하기 때문에 행렬의 곱(내적; np.dot())을 사용했다. 이때 행렬의 차원이 서로 맞아야 $XW$를 계산할 수 있는데, 예를 들어 다음과 같아야 한다. 이처럼 신..
신경망 학습에서 가중치 매개변수에 대한 손실 함수의 기울기를 수치 미분으로 구했다. 수치 미분은 구현하기 쉽지만 계산 시간이 오래 걸린다는 큰 단점이 있다. 따라서 이번 장에서는 기울기를 효율적으로 계산하는 오차역전파법(backpropagation)을 다룬다. 5.1 계산 그래프¶ 계산 그래프(computational graph)는 계산 과정을 복수의 노드(node)와 엣지(edge)로 표현한 것이다. 5.1.1 계산 그래프로 풀다¶ 계산 그래프에서 노드는 원으로 표기하고 원 안에는 연산 내용을 적는다. 또한, 계산 결과를 화살표 위에 적어 각 노드의 계산 결과가 왼쪽에서 오른쪽으로 전달한다. 계산 그래프의 사용법을 간단히 알아보기 위해 다음의 문제를 생각해보자. 1개에 100원짜리 사과 2개를 구입했다..
4.1 손실함수¶ 신경망 학습은 현재의 상태를 하나의 지표로 표현하며, 해당 지표를 가장 좋게 만들어주는 매개변수 값을 탐색한다. 이러한 지표를 신경망에서는 손실 함수라고 한다. 4.1.1 오차제곱합¶ 가장 많이 사용되는 손실 함수는 오차제곱합(sum of squared error; SSE)이며 식 (1)과 같다. \begin{equation} E = \frac{1}{2}\sum_k (y_k - t_k)^2 \end{equation} 여기서 $y_k$는 신경망으로 추정한 값(출력), $t_k$는 정답 레이블, $k$는 데이터의 차원 수를 나타낸다. 예를 들어, 앞서 MNIST 데이터셋에서 $y_k$는 신경망의 k번째 반복의 출력인 y_prob이며, $t_k$는 정답 레이블 t[k]가 된다. In [1]:..
3.3 다차원 배열의 계산¶3.3.1 다차원 배열¶다차원 배열은 숫자를 N차원으로 나열한 것을 말한다. 1차원 배열의 예를 살펴보자. In [1]: import numpy as np A = np.array([1, 2, 3, 4]) print(A) [1 2 3 4] 배열의 차원 수는 np.ndim() 함수로, 배열의 형상은 shape 메서드로 확인할 수 있다. 결과를 살펴보면 A는 1차원 배열이고 원소 4개로 이루어져 있다. 주의할 점은 A.shape가 튜플(tuple)을 반환한다는 것이다. 이는 1차원 배열이라도 다차원 배열일 때와 통일된 형태로 결과를 반환하기 위함인데, 예를 들어 2차원 배열일 때는 (4, 3), 3차원 배열일 때는 (4, 3, 2)와 같은 튜플을 반환한다. In [2]: print(..
퍼셉트론은 복잡한 함수도 표현할 수 있다는 장점이 있지만, 가중치를 설정을 사람이 직접 해줘야한다는 단점이 있다. 하지만, 신경망은 가중치의 적절한 값을 데이터로부터 학습한다. 이번 장에서는 신경망에 대한 개요를 다루고 신경망이 입력 데이터가 무엇인지 식별하는 처리 과정을 알아본다. 3.1 퍼셉트론에서 신경망으로¶3.1.1 신경망의 예¶신경망을 그림으로 나타내면 다음과 같다. 여기에서 가장 왼쪽을 입력층, 중간을 은닉층, 마지막 층을 출력층이라고 한다. 은닉층의 뉴런은 사람 눈에 보이지 않아 '은닉(hidden)'이라 한다. 앞으로는 입력층부터 출력층까지 차례로 0층, 1층, 2층이라 부르기로 하자. 3.1.2 퍼셉트론 복습¶아래와 같은 구조의 네트워크를 생각해보자. 위 그림은 $x_1$, $x_2$라는..