안녕하세요 !
온기입니다.
공부하면서 겸사겸사 딥러닝 기초 용어 정리를 해보려고 합니다.
끄적끄적 노트도 첨부합니다.
신경망이란?
신경망은 인공지능에서 많이 사용되는 모델 중 하나입니다.
우리 뇌 구조를 모방해서 만든 것으로, 여러 층으로 이루어져 있고 입력(input)과 출력(output)을 처리할 수 있습니다.
신경망은 학습을 통해서 입력값과 출력값 사이의 관계를 학습하고 예측하는 역할을 합니다.
신경망 층(layer)은 무엇인가?
신경망의 층은 입력층(input layer),
은닉층(hidden layer),
출력층(output layer)으로 이루어져 있습니다.
입력층은 데이터가 입력되는 곳이고 출력층은 결과값이 출력되는 곳입니다.
중간에 있는 층이 은닉층이고,은닉층은 여러 개가 있을 수 있습니다.
은닉층에서는 노드(node)가 작동하는데,
노드는 정보 처리의 단위입니다. 뉴런이라고도 불리는 노드는 입력된 데이터를 처리하고 출력을 내보내는 역할을 합니다.
노드에서는 활성화 함수(activation function)가 사용돼요.
활성화 함수는 노드의 출력값을 결정합니다.
활성화 함수에 따라서 다양한 출력이 가능해집니다.
가장 많이 사용되는 활성화 함수는 시그모이드(sigmoid)와 렐루(ReLU)에요.
dropout과 BN은 무엇일까요?
dropout과 BN은 모델의 성능을 개선하기 위한 방법 중 하나입니다.
dropout은 일부 노드를 무작위로 선택해서 제거하는 방법입니다.
이렇게 하면 모델이 과적합(overfitting)되지 않도록 방지할 수 있어요.
BN은 배치 정규화(batch normalization)의 약자에요. 모델의 학습을 안정화시키고 성능을 향상시키는 방법 중 하나에요.
BN은 입력값을 정규화시키는 방법으로 작동해요. 이를 통해서 학습이 빨라지고 모델의 정확도가 높아져요.
마지막으로 optimizer는 무엇일까요?
optimizer는 신경망에서 사용되는 학습 알고리즘에요.
모델이 학습할 때 어떻게 파라미터(parameter)를 업데이트할지를 결정하는 알고리즘이에요. 파라미터는 모델이 예측을 하는 데에 사용되는 가중치(weight)와 편향(bias)이에요.
optimizer는 파라미터를 업데이트할 때, 모델이 최적의 결과를 내기 위해 손실 함수(loss function)를 최소화하는 방향으로 업데이트해요. 이를 통해서 모델의 성능을 더욱 향상시킬 수 있어요.
가장 많이 사용되는 optimizer는 확률적 경사 하강법(stochastic gradient descent, SGD)이에요. SGD는 각 샘플에 대해서 파라미터를 업데이트하는 방법이에요. 이외에도 모멘텀(momentum), 아다그라드(Adagrad), 아담(Adam) 등의 optimizer가 있어요.
이렇게 여러 개념을 알아보았는데,
신경망은 정말로 복잡하고 다양한 개념이 많은것 같습니다.
하나하나 알아가는 재미도 있지만 (재미없어...)
당장 닥친 과제를 해야해서 가보겠습니다.
모두 화이팅 하십셔!
'데이터사이언스' 카테고리의 다른 글
데이터 분석 EDA란 무엇인가? (feat.삽질을 덜 하려면) (2) | 2023.11.24 |
---|---|
책리뷰) 모두의 한국어 텍스트분석 with 파이썬 박조은, 송영숙 저 (0) | 2023.08.12 |
초보자가 데이터 사이언스 분야에서 살아남기 (0) | 2023.02.21 |
통계는 왜 어려울까? (0) | 2023.01.17 |
분석을위한 데이터셋은 어디서 가져오지? (0) | 2022.11.07 |
댓글