Loading...
2023. 4. 26. 00:10

pytorch에서 loss 기본개념 재활

1. loss input data로부터 forward를 통해 계산한 예측된 결과 output input의 정답 label인 target과의 차이가 loss이다. loss는 error, cost로 불리기도 한다. backward 과정에 의해 loss가 update된다. output과 target의 차이를 어떻게 정의할 것인가? 문제와 task 목적에 따라 제곱오차, cross entropy 등 여러가지로 정의할 수 있다. loss에 따라 차이는 바뀔 것이고 class마다도 다를 수 있는데 loss의 선택에 따라 training중 parameter 업데이트 과정도 달라지므로 신중하게 선택해야한다. 2. nn.Module loss class도 nn.Module을 상속받는다… 따라서 __init__와 forwa..

2023. 2. 8. 01:52

자바 기본 배우기 -자바에서 함수와 클래스 기본-

1. 클래스란 무엇인가 사람의 정보를 관리하고 싶다 가장 쉬운방법은 변수들을 만들어서 일단 무작정 넣어놓는것 package com.ssafy.class01; public class PersonTest { public static void main(String[] args) { String name1 = "Yang"; String name2 = "Hong"; int age1 = 45; int age2 = 25; String hobby1 = "Youtube"; String hobby2 = "Golf"; } } 하지만 사람이 더 늘어난다면? 동일한 자료형들을 하나로 묶어서 관리할 수 있는 배열을 사용 그러면 반복문도 사용 가능해지고 코드도 간결해지고.. //배열 사용 int size = 2; String[] ..

2023. 1. 3. 11:59

convolution layer의 parameter 세는 방법 대충

1. Convolution neural network convolution layer와 pooling layer에 의한 feature extraction fully connected layer에 의한 decision making으로 이루어지는 neural network fully connected layer는 convolution layer에 비해 parameter가 많으니까 없애려고하는 것이 대세이다. 일반적으로 학습하고자하는 모델의 parameter 수가 커질수록 학습이 어려워지고 generalization performance도 떨어진다 generalization performance = 학습한 모델이 test data에 얼마나 잘 동작하는지 convolution layer를 최대한 deep하게 만..

2022. 11. 9. 15:31

pruning 기본 알고리즘, regularization과의 연관성 알아보기

1. iterative pruning network가 존재하면 neuron weight들의 중요도를 계산함 중요도가 적은 weight는 적절하게 제거함 이후 데이터를 다시 넣어 fine-tuning을 수행하면서 weight를 업데이트 pruning을 계속하고 싶으면 weight의 중요도를 다시 계산하여 위 과정을 반복 pruning을 중단하고 싶으면 그대로 사용.. 단 1번만 할 수는 있지만 보통 여러번 반복 pruning을 수행함 2. pruning의 알고리즘 N이 pruning의 반복수이고 X가 훈련데이터(fine-tuning에도 사용) 먼저 weight를 초기화하고 network를 training하여 weight를 convergence시킴 weight의 차원과 크기가 동일한 1로 가득찬 mask 행..

2022. 11. 2. 09:42

딥러닝에서 parameter search하는 gradient descent와 기하학적 의미

1. history 사람이 프로그래밍을 통해 모델을 설계하여 일을 자동으로 해주는 도구를 만들었지만 초기에는 hyperparameter밖에 없어서 사람이 모든 모수를 직접 정해야했다 머신러닝 시대로 오면서 데이터의 어떤 feature를 주로 쓸 지 모델 설계를 사람이 여전히 해야했지만 일부 parameter를 모델이 자동으로 찾아주었다. 물론 여전히 많은 hyperparameter가 존재했다. 딥러닝 시대로 오면서 사람이 input, output을 던져주면 모델이 알아서 feature를 잡아 모델을 설계했고 대부분의 parameter도 알아서 찾아준다. 극히 일부의 hyperparameter는 여전히 존재했다. 추후에는 진짜 모델 설계부터 parameter search까지 기계가 알아서 해주는 시대가 올..