AI/DeepLearning 11

적절한 하이퍼파라미터 값 찾기 및 구현 실습

적절한 하이퍼파라미터 값 찾기 및 구현 실습 신경망에는 하이퍼파라미터가 다수 등장.여기서 말하는 하이퍼파라미터는 뉴런 수, 배치 크기, 매개변수 갱신 시의 학습률, 가중치 감소 등이 존재. 적절한 값을 설정하지 못할 경우 모델 성능이 크게 떨어지기도 함.하이퍼파라미터 값은 매우 중요하지만, 그 값을 결정하기까지는 일반적으로 많은 시행착오를 겪음. 검증 데이터데이터셋을 훈련 데이터와 시험 데이터로 분리. 하이퍼파라미터의 성능을 평가할 때는 시험 데이터를 사용해서는 안됨.시험 데이터를 사용하여 하이퍼파라미터를 조정하면 하이퍼파라미터 값이 시험 데이터에 오버피팅되기 때문 하이퍼파라미터를 조정할 때는 하이퍼파라미터 전용 확인 데이터가 필요.하이퍼파라미터 조정 데이터를 일반적으로 검증 데이터라고 부름하이퍼파라미..

AI/DeepLearning 2025.11.19

오버피팅, 가중치 감소, 드롭아웃

오버피팅, 가중치 감소, 드롭아웃 오버피팅 오버피팅이란?신경망이 훈련 데이터에만 지나치게 적응되어 그 외의 데이터에는 제대로 대응하지 못하는 상태 기계 학습은 일반적으로 범용성 좋은 모델은 지향하나 훈련 데이터에는 없는 아직 보지 못한 데이터가 주어져도 바르게 식별해내는 모델이 바람직함.복잡하고 표현력 높은 모델을 만들 수는 있지만 그만큼 오버피팅을 억제하는 기술이 중요 오버피팅은 주로 다음과 같은 경우에 일어남매개변수가 많고 표현력이 높은 모델훈련 데이터가 적음 가중치 감소오버피팅 억제용으로 예로부터 많이 이용해온 방법 중 하나.학습 과정에서 큰 가중치에 대해서는 그에 상응하는 큰 페널티를 부과하여 오버피팅을 억제하는 방법.원래 오버피팅은 가중치 매개변수 값이 커서 발생하는 경우가 많기 때문...

AI/DeepLearning 2025.11.14

배치 정규화 Batch Normalization + Pytorch 실습

배치 정규화 Batch Normalization + Pytorch 실습 각 층의 활성화값 분포를 관찰해보며, 가중치의 초깃값을 적절히 설정하면 각 층의 활성화값 분포가 적당히 퍼지면서 학습이 원활하게 수행됨. 그렇다면 각 층이 활성화를 적당히 퍼뜨리도록 강제하면 더 좋지 않을까란 생각에서 배치 정규화가 출발함. 배치 정규화 알고리즘 2015년에 제안되었으나 많은 연구자가 현재까지도 사용하고 있음. 배치정규화의 장점학습을 빨리 진행할 수 있음.초깃값에 크게 의존하지 않음.오버피팅을 억제 (드롭아웃 등의 필요성 감소) 배치 정규화의 효과대부분의 초깃값 표준편차에서 학습 진도가 빠름.배치 정규화를 이용하지 않은 경우 초깃값이 잘 분포되지 않으면 학습이 전혀 되지 않는 경우도 있음. PyTorch를 이용한..

AI/DeepLearning 2025.11.13

신경망 학습에서 초기 가중치 설정

신경망 학습에서 초기 가중치 설정 신경망 학습에서 특히 중요한 것이 가중치의 초깃값 설정은 중요함.특히, 가중치의 초기값을 무엇으로 설정하는지에 따라서 신경망 학습의 성패가 달라질 수 있음. 목차초깃값을 0으로 설정은닉층의 활성화 값 분포Xavier 초깃값시각화 코드 샘플 초깃값을 0으로 설정 오버피팅을 억제해 범용 성능을 높이는 테크닉인 가중치 감소(weight decay) 기법을 소개하고자 함.가중치 감소는 가중치 매개변수의 값이 작아지도록 학습하는 방법으로 가중치의 값을 작게하여 오버피팅이 일어나지 않게 하는 것. 하지만, 가중치를 0으로 설정하면 학습이 올바로 이뤄지지 않음.왜냐하면 오차역전파법에서 모든 가중치의 값이 똑같이 갱신되기 때문.가중치들은 같은 초깃값에서 시작하고, 갱신을 거쳐도 여전..

AI/DeepLearning 2025.11.13

SGD, Momentum, AdaGrad, RMSprop, Adam

SGD, Momentum, AdaGrad, RMSprop, Adam 가중치 매개변수의 최적값을 탐색하는 최적화 방법, 가중치 매개변수 초깃값, 하이퍼파라미터 설정 방법 등 신경망에서 중요한 주제.오버피팅의 대응책인 가중치 감소와 드롭아웃 등의 정규화 방법도 간략히 설명하고 구현. 마지막으로 최근 많은 연구에서 사용하는 배치 정규화도 짧게 알아보고자 함. 목차SGD (확률적 경사 하강법)Momentum (모멘텀)AdaGradRMSpropAdam각각의 시각화 코드 샘플 SGD (확률적 경사 하강법) 확률적 경사 하강법이란 단순한 방법인데, 매개변수의 기울기를 구해 매개변수 값을 갱신하는 일을 할 때 단순하고 구현이 쉽지만, 문제에 따라서 비효율적일 때가 있음.등고선x축 방향으로 길쭉한 타원형 등고선이 나..

AI/DeepLearning 2025.11.09

활성화 함수 계층 기본 구현 정리

활성화 함수 계층 기본 구현 정리 신경망을 구성하는 층을 각각에 대해서 기본적인 것들을 정리. 아래 샘플 코드에서 사용되는 주요 Numpy와 Python 문법 정리이거 모르면 아래 코드 읽는데 상당히 어려움.주로 사용하는 언어가 정적 타이핑언어인데, 동적 타이핑 언어를 사용하는 경우 사고 전환이 아직까지도 좀 불편한 부분이 있어서 차이점을 느끼는 부분을 위주로 정리하고자 함. 1. 파이썬에서는 인스턴스 변수는 __init__에서 선언하는 것이 원칙.하지만 새롭게 만든다고해서 동작하지 않는것은 아님. class SomeClass: def __init(self): self.mask = None 2. numpy에서 불리언 인덱싱 문법True/False 배열을 이용해서 원하는 위치만 선택하는 ..

AI/DeepLearning 2025.11.09

경사하강법 (Gradient Descent)

경사하강법 (Gradient Descent) 신경망 학습의 핵심은 가중치(weight)를 최적의 값으로 찾아내는 것.이때 손실(loss)을 최소화하는 방향으로 가중치를 조금씩 조정하는 알고리즘이 바로 경사하강법(Gradient Descent)임. 경사하강법이란? 최적의 매개변수를 찾아내기 위해 손실 함수가 최솟값이 될 때의 매개변수 값을 찾기 위한 방법매개변수 공간이 광대하여 어디가 최솟값이 될 지 짐작할 수 없는 경우 기울기를 이용해 함수의 최솟값 혹은 가장 작은 것을 찾으려고 하는 방법 기울기를 따라 나아가지만, 그 지점이 정말 최솟값인지는 보장할 수 없음. 함수가 극솟값, 최솟값, 또 안장점이 되는 장소에서는 기울기가 0임. 평평한 곳으로 파고들면서 고원이라 하는 학습이 진행되지 않는 정체기에 빠..

AI/DeepLearning 2025.11.09

오차역전파

오차역전파 신경망 학습에서 가중치 매개변수의 기울기를 구할 때 수치 미분을 이용해 구할 수 있는데, 수치 미분은 단순하고 구현하기도 쉽지만 계산이 오래 걸린다는 단점이 존재.매개변수의 기울기를 효율적으로 계산하는 방법으로 오차역전파라고 함. Input에서 Output으로 값을 전파하면서 보내는 것을 순전파(forward propagation)이라고 부르며, 값을 보내는 것.역전파는 반대로 Output에서 Input 방향으로 향하며, 가중치를 재업데이트 함. Input에서 Ouput이 나오는 과정에서 결과값은 오차(Error)를 가지는데, 역전파는 다시 오차를 역방향으로 은닉층과 Input 방향으로 보내면서 가중치를 계산하면서 Output에서 발생했던 오차를 돌려보냄. 1번 학습하는 것을 1 epoch라..

AI/DeepLearning 2025.11.05

신경망 학습 (Neural Network Training)

신경망 학습 (Neural Network Training) 학습이란? - 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것 신경망이 학습할 수 있도록 해주는 지표인 손실함수에 대해서 알아볼 예정.손실함수의 값을 가급적 작게 만드는 기법으로 함수의 기울기를 활용하는 경사법 소개. 데이터 주도 학습알고리즘을 밑바닥부터 설계하는 대신 주어진 데이터를 잘 활용해서 해결이미지에서 특징(feature)를 추출하고 그 특징의 패턴을 기계학습 기술로 학습하는 방법 존재. 특징은 입력 데이터에서 본질적인 데이터를 정확하게 추출할 수 있도록 가르킴 이미지를 베겉로 변환하고 변환된 벡터를 가지고 지도학습의 대표 분류 방법인 SVM KNN 등으로 학습 즉, 딥러닝은 종단간 기계학습이라고도 불리며, 사람의 개입..

AI/DeepLearning 2024.04.23

신경망 Neural Network

신경망 Neural Network 퍼셉트론은 가중치를 우리가 적절히 사람이 수동으로 설정해야 하는 단점이 존재.그러나 신경망은 가중치 매개변수에 대한 적절한 값을 데이터로 부터 자동으로 학습. 신경망은 아래 이미지와 같이 왼쪽부터 입력층(Input), 은닉층(Hidden), 출력층(Output)으로 표현.입력층: 가장 왼쪽 우리가 값을 넣어주는 부분은닉층: 입력층과 출력층 사이 (우리 눈에 보이지 않는 층으로 Black Box라고도 표현)출력층: 가장 오른쪽 결과값 input과 weight를 계산하여 다 더하고 임계값과 비교하여 임계값을 넘으면 Output으로 1을 출력하고 그렇지 않으면 0을 출력한이를 편향을 명시하여 수식으로 표현하자면 아래와 같음. ### 편향을 명시한 퍼셉트론 수식y = h(b+ ..

AI/DeepLearning 2024.04.17