[최적화이론] 배경이론 : 선형대수
2023. 3. 25. 10:42ㆍ2023/최적화이론
반응형
- 인공지능을 위한 수학적 배경
- 딥러닝 모델
- 인간의 뇌를 합리적으로 모방하는 것이 목표임
- 뇌의 기능들 중 인지와 학습 능력을 과학적으로 모델링 하고자 함
- 머신러닝 모델
- 인공지능을 구현하고자 하는 시도 중 하나
- 기계가 스스로 학습할 수 있도록 함
- 하드웨어의 발전으로 딥러닝 기술이 폭발적으로 개발되고 발전 수준이 높아짐
- 퍼셉트론
- 인간의 인지과정
- 뇌에 들어온 정보를 중요도에 대한 합리적 기준에 따라 받아들일지 말지 결정함
- 뇌에 들어온 정보 x, 각 정보의 중요도 w, 합리적 기준 b, 받아들일지 말지 결정 y
- 퍼셉트론의 인지과정
- 인간과 같이 들어온 정보를 x, 각 정보의 중요도를 w, 합리적 기준을 b, 받아들일지 말지 결정할 값을 y라고 할 때 x와 w는 선형결합을 함
- 정보의 총량(xw)의 값이 합리적 기준 b보다 크다면 받아들이고, 크지 않다면 받아들이지 않음
- 인간의 인지과정
- 신경망
- 복잡한 의사결정을 위해 퍼셉트론을 여러개 이어붙인 형태
- 각 정보의 중요도를 고려해 의사결정을 하는데, 의사결정을 하는 레이어가 여러개 존재
- 학습 과정 모델링
- 인지 과정에서 중요한 것은 각 정보의 중요도와 합리적인 기준임
- 이 두가지를 결정하는 과정이 학습 과정임
- 각 정보의 중요도와 합리적인 기준을 정할 때 에너지를 최소한으로 사용하며 결정해야 함
- 이때 에너지를 최소화 하기 위한 방안이 loss function(손실함수)임
- 인지 과정에서 중요한 것은 각 정보의 중요도와 합리적인 기준임
- Loss Function
- 데이터의 정답과 예측 결과의 차이를 측정하는 함수로 정의
- 예시
- 평균제곱오차(MSE)
- 교차엔트로피오차
- 학습 과정은 손실함수가 최소값을 가질 때의 w, b를 찾는 것임
- $$ minimize_w,_b = L(w, b) $$
- $$ minimize_w,_b = L(w, b) $$
- 다변수 함수 L(w, b)가 최소값을 가질 때의 w, b를 찾는 최적화 문제
- 딥러닝 모델
- 데이터의 유형
- 스칼라
- 하나의 숫자로만 이루어진 데이터
- 알파벳 소문자로 표기
- 벡터
- 여러개의 숫자가 특정 순서대로 모여있음
- $$
\boldsymbol {x} = [x_1, x_2, x_3, x_4]^T
$$
- $$
- 여러개의 행, 하나의 열을 갖는 형태임
- 하나의 벡터에 데이터의 갯수가 n개이면 “n차원 벡터” 라고 함
- 여러개의 숫자가 특정 순서대로 모여있음
- 행렬
- 여러개의 벡터를 하나로 합친 것
- 여러 데이터 레코드의 집합을 행렬로 나타낼 때 하나의 데이터 레코드를 하나의 행으로 표기함
- $$ \boldsymbol {X} = \begin{vmatrix} a & b \\ c & d \end{vmatrix} $$
- 행렬의 크기는 행(데이터 레코드 수, 벡터의 갯수)x열(벡터의 차원수)
- 예측 문제에서 입력데이터로 사용된다면 특징 행렬(feature matrix)
- 텐서
- 행렬이 여러개 묶여있는 것
- 수학적 정의는 아니나 DS에서는 다차원 배열을 텐서라고 함
- 스칼라
- 벡터와 행렬
- 벡터
- 유향선분의 속성 중 방향과 크기를 추상화한 양
- 좌표평면 위에 벡터로 표시 가능(2차원의 경우)
- 벡터의 크기 (L2 - norm)
- $$ ||a|| = \sqrt{a_1^2 + a_2^2} $$
- 벡터의 내적
- 스칼라만 고려한 벡터의 곱셈
- 신경망에서의 입출력은 모두 벡터형태, 입력과 가중치의 내적을 출력으로 내보냄
- $$ a \cdot b = ||a|| ||b|| \cos\theta $$
- 내적한 두 벡터가 반대방향이라면 내적은 최소값을 가짐
- 내적한 두 벡터가 평행하지 않다면 서로 반대방향일때와 같은 방향일 때 사이의 값
- 내적한 두 벡터가 평행하다면 내적 값은 최댓값을 가짐
- 내적값을 통해 두 벡터가 어느정도로 방향이 같고 다른지를 파악할 수 있음
- 내적값이 클수록 방향이 같음
- 행렬
- 숫자들을 사각 형태로 배열
- 가로줄을 행, 세로줄을 열이라고 함
- 행렬 A의 i행 j열 성분 a_i_j에 대해 A = (a_i_j)로 나타냄
- 어떤 행렬 A 와 어떤 행렬 B의 모든 성분들이 서로 같을 때는 상등행렬이라고 함
- 행렬의 연산
- 같은 위치에 있는 원소들 끼리 더하고 뺌
- 스칼라 곱을 해주는 경우 각 원소들에게 해당 스칼라를 모두 곱해주면 됨
- 영행렬
- 모든 성분이 0인 행렬
- 덧셈의 항등원임
- 행렬간의 곱셈
- 곱셈을 하기 위해서는 어떤 행렬 A의 열의 갯수와 어떤 행렬 B의 행의 갯수가 같아야 함
- 이때 행렬 A, B를 곱할 때 행렬 A의 i번째 행과 행렬 B의 j번째 열을 내적함
- 곱셈 성질
- 결합법칙 성립
- $$ (AB)C = A(BC) $$
- 분배법칙 성립
- $$ A(B+C) = AB + BC , (A+B)C = AB+BC $$
- 주의사항
- 곱셈의 교환법칙은 성립하지 않음
- 결합법칙 성립
- 행렬간의 곱셈 활용
- 인공신경망 순전파
- 학습 과정에서 행렬간의 곱셈 연산이 진행됨
- 인공신경망 순전파
- 아다마르 곱
- 같은 크기(같은 행열의 크기, 정사각 행렬)를 갖는 행렬 A, B에 대해 같은 위치의 성분을 곱한 행렬
- 전치행렬
- 행렬 A = (a_i_j)의 행과 열을 바꿈
- 대칭행렬
- 정사각 행렬 A = (a_i_j)가 전치행렬 A^T와 같은 경우
- 벡터
반응형