본문 바로가기

Archive/ML & DL12

[DL] Multi Layer Perceptron, Back Propagation 감잡기 (프로그래머스 인공지능 코스 Week 9-2) 다층 퍼셉트론의 핵심 아이디어 - 은닉층의 도입 : 특징 공간의 변환 - 활성함수의 도입 : 시그모이드의 도입으로 출력을 신뢰도로 간주하게 된다. - 오류 역전파 알고리즘의 도입 : 층별로 gradient 계산 후 가중치를 갱신하기 위함 XOR 문제 XOR 문제는, 하나의 퍼셉트론, 즉 하나의 결정경계로는 구분이 불가능하지만, 2개면 충분하다. 시그모이드 함수의 도입(활성함수) 시그모이드 함수 등의 다른 활성함수는 영역을 영역으로 변환한다. 즉 , 의사 결정에 사용되는 값이 0, 1 식의 딱딱한 형태가 아닌 부드러운 형태이다. 대표적인 예시로는 다음을 들 수 있다. - 로지스틱 시그모이드 - ReLU 함수(렉티파이어) 다층 퍼셉트론의 표현 다층 퍼셉트론의 경.. 2021. 6. 22.
[DL] Pytorch Tutorial Pytorch Tutorial. 텐서의 정의 및 크기변경 등 설치 및 import !pip install torch import torch 텐서의 초기화 torch.empty(5, 3) # 임의 초기화, 5 by 3 torch.zeros(5, 3, dtype = torch.long) # 0으로 초기화, 5 by 3 torch.ones(5, 3, dtype = torch.long) # 1로 초기화, 5 by 3 텐서의 초기화(random 활용) torch.randn(5, 3) # 정규분포 기준 torch.rand(5, 3) # 0~1 사이의 균등분포 다차원 텐서도 가능함. (ex - 3차원) torch.randn(4, 3, 3) # 이 경우 3 * 3 행렬이 4층으로 쌓이는 구조가 된다. 텐서의 크기 변경.. 2021. 6. 21.
[DL] Single Layer Perceptron 사람의 신경망을 본따 만든 인경 신공망을 배워보기 시작하자. (프로그래머스 Week9 - Day1 정리) 추가참고 : 밑바닥부터 시작하는 딥러닝1 신경망의 구분 - 전방 신경망 vs 순환 신경망 : 뒤로 다시 돌아갈 수도 있을까? - 깊은 신경망 vs 얕은 신경망 : 은닉층이 얼마나 많을까? - 결정론 신경망 vs 확률론적 신경망 : 매개변수와 조건이 동일하면 완전히 결정되는가, 아니면 분포로 답이 나와 달라질 수 있는가?(불완정성 부여) Perceptron 이란? 입력 신호에 weight를 곱해, 학습시키는 가장 간단한 인공신경망 형태의 구조이다. 학습이 잘 되었다는 것의 의미는, 알맞은 가중치를 찾는 것을 의미한다. 이에 따라 최종 학습 값이, 임계치 이상일 경우 1을 주고, 아닐 경우 -1을 주는 .. 2021. 6. 21.
[ML/DL] 경사하강법 경사하강법이란? 경사하강법(Gradient Descent) 방법은, 함수의 최솟값을 찾는데 쓸 수 있는 방법 중의 하나이다. 함수의 최솟값을 찾는 수학적인 방법은, 일단 미분계수가 0인 지점을 찾는데에서 출발한다. 그러나 실제로 우리가 분석에서 맞딱드리게 되는 함수들은 closed form이 아니거나 매우 복잡하여 그 근을 계산하기 어려울 수 있다. 이럴 때, iterative한 방법을 통해 해를 구할 수 있는데 이러한 방법중 하나가 바로 경사하강법이다. 경사하강법의 유도 경사하강법은, 함수의 기울기를 바탕으로 새로운 x값을 갱신하며 최솟값이 어디인지 찾는 방법이다. - 기울기가 양수일 경우, 함숫값은 커지는 방향이다. 따라서 x값이 줄어드는 방향으로 와야 기울기가 0에 가까워질 것. - 반대로 기울기가.. 2021. 6. 9.
[ML] 배치 학습 vs 온라인 학습 참고(1) : https://gooopy.tistory.com/123 참고(2) : https://stickie.tistory.com/44 배치학습 배치학습이란, 시스템이 점진적으로 학습하지 않고, 가용한 데이터를 모두 사용해 훈련하는 학습법이다. 즉, 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하면 더 이상의 학습 없이 실행된다. 즉 학습한 것을 단지 적용만 하는 것으로, 오프라인 학습(Offline Learning)이라고도 한다. 배치학습의 경우, 새로운 데이터에 대해 학습하기 위해서는 전체 데이터를 사용하여 시스템의 새 버전을 다시 처음부터 훈련해야 한다. 온라인학습 반면, 온라인 학습의 경우에는 데이터를 순차적으로 1개씩 혹은 미니배치라고 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.. 2021. 6. 3.
[DS] Numpy and Pytorch 기본연산 참고자료 [1] 프로그래머스 DevCourse 인공지능과정 [2] wikidocs.net/52460 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net Tensor? 간단하게, 2차원에서 행렬이 3, 4차원이 되면 Tensor라고 생각하면 편하다. 즉 텐서 = 다차원 행렬이다. 1,2차원 배열이나 행렬도 텐서라고 부르는 경우도 많다. 예시) 2차원의 Tensor : (Batch Size) * (dimension) 3차원의 Tensor : (Batch Size) * (Width/length) * (Height/dim) Numpy의 사용 github.com/SeongwonTak/-KDT-_AI_2_Notes/blob/main/Linalg/0503_Numpy_Note.ipynb Seong.. 2021. 5. 3.