컴퓨터공학/NN 11

손실함수(loss function)

손실함수(loss function)는 신경망(또는 다른 머신러닝 모델)에서 모델의 예측값과 실제 값 간의 차이를 측정하는 함수이다. 이 함수는 모델이 얼마나 잘 수행하고 있는지를 정량적으로 평가하기 위해 사용된다. 모델의 출력이 실제 값과 얼마나 가까운지를 평가하여, 모델의 파라미터를 업데이트하고 최적화하는 과정에서 중요한 역할을 한다.손실함수의 역할신경망에서 학습이 이루어지는 과정은 다음과 같다.예측(Prediction): 신경망은 주어진 입력 데이터를 바탕으로 예측값을 생성한다.손실 계산(Calculate Loss): 손실함수는 예측값과 실제 값(타겟) 간의 차이를 계산한다. 이 값이 클수록 모델의 예측이 부정확한 것이다.역전파(Backpropagation): 손실함수의 값을 최소화하기 위해 역전파 ..

컴퓨터공학/NN 2024.08.28

경사하강법(Gradient Descent)

경사하강법(Gradient Descent)은 머신러닝과 최적화 문제에서 널리 사용되는 기법으로, 주어진 함수의 최솟값(또는 최댓값)을 찾기 위해 사용된다. 주로 손실 함수(Loss Function)를 최소화하는 데 사용되며, 이 과정에서 모델의 파라미터를 업데이트한다. 경사하강법의 기본 아이디어는 함수의 기울기(Gradient)를 이용하여 함수의 값을 점진적으로 줄여나가는 것이다.1. 경사하강법의 기본 원리경사하강법은 다음과 같은 절차를 따른다.초기값 설정: 먼저, 모델의 파라미터(예: 가중치와 편향)를 초기화한다. 이 초기값은 임의로 설정될 수 있다.기울기 계산: 현재 위치에서의 손실 함수의 기울기(Gradient)를 계산한다. 이 기울기는 파라미터 공간에서 함수가 가장 급격하게 증가하는 방향을 나타낸..

컴퓨터공학/NN 2024.08.28

신경망에서 사용되는 활성화함수들

신경망에서 사용되는 활성화 함수는 신경망의 출력값을 비선형적으로 변환하여 학습과정을 도와준다. 주요 활성화 함수에는 다음과 같은 것들이 있다. 1. 계단 함수 (Step Function)역치값 이상이면 1, 아니면 0인공지능 초기에 사용하였으나 지금은 잘 사용하지 않는다. 2. 시그모이드 함수 (Sigmoid Function)​출력값이 0과 1 사이로 압축된다. 그러나, 시그모이드 함수는 큰 값에서 그래디언트가 매우 작아져서 학습이 느려질 수 있다 (즉, 기울기 소실 문제가 발생할 수 있음).public static double sigmoid(double x) { return 1 / (1 + Math.exp(-x));} 3. 하이퍼볼릭 탄젠트 함수 (Tanh Function)tanh(x)는 쌍곡 탄..

컴퓨터공학/NN 2024.08.28

Word2Vec

Word2Vec은 자연어 처리(NLP)에서 단어를 벡터로 변환하는 방법을 제시한 모델이다. 이 모델은 단어의 의미적 유사성을 벡터 공간에서 반영하여 단어 간의 관계를 학습한다. Word2Vec은 구글의 연구원인 Tomas Mikolov와 그의 동료들에 의해 2013년에 제안되었다. 1. Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). "Efficient Estimation of Word Representations in Vector Space." 이 논문에서는 Word2Vec 모델의 기본 개념과 CBOW 및 Skip-gram 모델을 설명한다. 이 논문은 단어의 벡터 표현을 효율적으로 학습하는 방법을 제시하였으며, 자연어 처리의 여러 작업에 혁신적인 영향을..

컴퓨터공학/NN 2024.08.21

해석 가능한 인공지능(Explainable AI, XAI)

"해석 가능한 AI"는 AI 모델이나 알고리즘이 내리는 결정이나 예측의 과정을 인간이 이해하고 설명할 수 있는 AI를 의미합니다. 이는 AI가 왜 특정한 결정을 내렸는지를 명확하게 설명할 수 있는 능력을 갖추고 있음을 말한다. 우리 모두 알다시피 현재의 인공지능은 상황에 따라 충분히 거짓말을 하고 있기 때문이다. 일반적으로 AI, 특히 딥러닝 모델들은 매우 복잡하고, 그 내부 구조가 '블랙 박스'처럼 느껴질 수 있다. 이러한 모델들이 어떻게 특정 결론에 도달했는지 알기 어려울 때가 많다. 하지만 해석 가능한 AI는 이 과정에서 어떤 특성들이 중요한 역할을 했는지, 또는 어떤 규칙들이 적용되었는지를 설명할 수 있어야 한다. 이러한 해석 가능성은 특히 의료, 금융, 법률과 같은 민감한 분야에서 중요한데, 이..

컴퓨터공학/NN 2024.08.20

Forward-Forward Algorithm

Forward-Forward Algorithm(FF)은 딥러닝 및 인공지능 연구 분야에서 새로운 훈련 방법으로 제안된 알고리즘 중 하나이다. 주로 전통적인 역전파(Backpropagation) 알고리즘의 대안으로 연구되고 있다.전통적인 역전파에서는 순전파->역전파의 과정을 거치므로 역전파라는 실재 뇌에서는 존재하지 않을 것 같은 과정을 거치게 된다.반면 FF의 경우 손실계산을 위해 순전파를 사용하므로 좀더 적절?해 보일 수 있다. 다만 현재의 FF로는 역시 불필요한? 순전파가 있고 현재의 손실보정율이 역전파에 비해 떨어지는 문제가 있다.다만 딥러닝에 있어 역전파 외에도 순전파가 가능하다는 점을 보여주었고 향후 두번째 순전파를 손실보정과 결과출력, 손실계산을 동시에 사용한다면 좀더 좋은 모델이 되지 않을까..

컴퓨터공학/NN 2024.08.16

역전파(Backpropagation)

역전파(Backpropagation)는 인공 신경망에서 사용되는 핵심 알고리즘으로, 신경망의 가중치(weight)를 학습시키는 데 사용된다. 역전파 알고리즘은 신경망의 출력과 실제 값 사이의 오차를 기반으로 가중치를 업데이트하여 신경망의 성능을 향상시키는 과정이다.  이 과정을 통해 기존 퍼셉트온의 XOR미해결 문제를 해결할 수 있었다.1. 기본 개념신경망은 여러 개의 층(layer)으로 구성되어 있으며, 각 층에는 여러 개의 뉴런(neuron)이 있다. 각 뉴런은 입력 값을 받아 가중치와 곱한 후 비선형 활성화 함수를 통해 다음 층으로 전달한다. 신경망의 학습 과정은 주어진 입력에 대해 원하는 출력 값을 만들어내기 위해 가중치를 조정하는 과정이다.2. 순전파(Forward Propagation)입력 데..

컴퓨터공학/NN 2024.08.15

CNN/RNN/Transformer 특징 장단점 비교하기

CNN(Convolutional Neural Networks), RNN(Recurrent Neural Networks), 생성형 AI에서 사용하는 트랜스포머(Transformer)의 차이점과 특징을 설명한다. 1. CNN (Convolutional Neural Networks) 구조와 동작 방식:CNN은 이미지 데이터 처리에 주로 사용된다. 입력 이미지에서 특징을 추출하기 위해 컨볼루션 필터를 사용한다.필터를 통해 지역적인 특징을 학습하고, 풀링 레이어를 통해 차원을 축소한다. 장점:이미지 및 영상 데이터 처리에 매우 효율적.지역적인 특징을 잘 학습할 수 있음.파라미터 수가 적고, 학습이 비교적 빠름. 단점:순차 데이터 처리에는 적합하지 않음.이미지의 전체적인 문맥을 이해하는 데 한계가 있을 수 있음. ..

컴퓨터공학/NN 2024.08.10

다층 퍼셉트론(MLP, Multi-Layer Perceptron)

다층 퍼셉트론(MLP, Multi-Layer Perceptron)은 인공 신경망의 한 형태로, 여러 개의 퍼셉트론 층으로 구성되어 있다. MLP는 입력층, 하나 이상의 은닉층, 출력층으로 이루어져 있으며, 각 층은 다수의 노드(뉴런)로 구성된다. MLP는 단순한 퍼셉트론으로 해결할 수 없는 비선형 문제(XOR 문제)를 해결할 수 있도록 고안되었다.다층 퍼셉트론의 구조입력층(Input Layer):네트워크의 첫 번째 층으로, 각 노드는 입력 데이터를 받아들인다. 이 층은 단순히 데이터를 다음 층으로 전달하는 역할을 한다.은닉층(Hidden Layers):하나 이상의 은닉층으로 구성될 수 있으며, 각 은닉층은 여러 개의 노드로 구성된다. 은닉층의 노드는 입력 데이터를 처리하고 특징을 추출하는 역할을 한다.은..

컴퓨터공학/NN 2024.08.06

신경망의 기본, 퍼셉트론(Perceptron)

퍼셉트론(Perceptron)은 인공 신경망의 가장 기본적인 단위로, 하나의 뉴런을 모형화한 것이다. 퍼셉트론은 1957년 Frank Rosenblatt에 의해 처음 제안되었으며, 이진 분류 문제를 해결하는 데 사용된다. 퍼셉트론의 기본 개념과 작동 원리는 다음과 같다.퍼셉트론의 구조입력층(Input Layer):여러 개의 입력 값 x1,x2,…,xn​으로 구성됩니다. 각 입력 값은 뉴런에 연결된다.가중치(Weights):각 입력 값에는 가중치 w1,w2,…,wn가 부여됩니다. 가중치는 입력 값의 중요도를 나타내며 학습 과정에서 조정된다.편향(Bias):뉴런의 출력 값을 조정하는 데 사용되는 추가적인 매개변수 b이다. 편향은 뉴런이 활성화될 기준을 설정하는 역할을 한다.활성화 함수(Activation F..

컴퓨터공학/NN 2024.08.06