- 6.3. Systems of Differential Equations 고유값과 고유벡터로 선형 미분방정식 시스템을 풀고, 행렬지수 e^{At}와 안정성을 이해하기 연결 강의: MIT 18.06 Linear Algebra - Lecture 23: Differential Equations and exp(At) 이번 강의는 선형대수학을 미분방정식 시스템에 적용하는 내용이다.
- 6.2. Diagonalizing a Matrix 고유벡터 행렬을 이용한 대각화, 행렬의 거듭제곱, 대각화 가능 조건, Fibonacci 수열 예시 연결 강의: MIT 18.06 Linear Algebra - Lecture 22: Diagonalization and Powers of A 지난 강의에서는 eigenvalue와 eigenvector의 기본 방정식을 배웠다.
- Transformer Self-Attention을 기반으로 한 Transformer 구조, Encoder, Decoder, Masked Self-Attention과 Cross-Attention 정리 한빛미디어의 를 요약 정리한 글이다. Transformer는 Attention is All You Need(2017)에서 제안된 구조이다.
- 6.1. Introduction to Eigenvalues 고유값과 고유벡터의 정의, characteristic equation, projection, permutation, rotation matrix 예시 연결 강의: MIT 18.06 Linear Algebra - Lecture 21: Eigenvalues and Eigenvectors 이번 강의부터 eigenvalue와 eigenvector를 다룬다.
- Self-Attention 일반 Attention에서 Self-Attention으로 넘어가는 관점 전환과 Q, K, V의 역할을 정리한다. 한빛미디어의 를 요약 정리한 글이다. 일반 Attention은 다음 구조를 가진다. 기준: 현재 시점의 hidden state 참조: 전체 hidden states
- 5.3. Cramer's Rule, Inverses, and Volumes 크래머 공식, 여인수로 표현한 역행렬, 행렬식이 나타내는 넓이와 부피의 의미 정리 연결 강의: MIT 18.06 Linear Algebra - Lecture 20: Cramer's rule, inverse matrix, and volume 이번 내용은 행렬식의 마지막 응용에 관한 내용이다. 앞에서는 행렬식의 성질과 계산 공식을 배웠다. 이제는 그 행렬식이 실제로 어디에 쓰이는지를 본다.
- Attention 직관 Decoder의 잠정 상태, attention score, attention weight, context vector 흐름 직관 한빛미디어의 를 요약 정리한 글이다. Attention은 Decoder가 현재 시점의 출력을 만들 때, Encoder의 전체 hidden states 중 어떤 정보를 얼마나 참고할지 학습하는 구조이다.
- 5.2. Permutations and Cofactors 순열 공식과 cofactor 전개로 determinant를 계산하는 방법 연결 강의: MIT 18.06 Linear Algebra - Lecture 19: Determinant formulas and cofactors 이번 강의는 determinant에 대한 두 번째 강의이다.
- Attention seq2seq의 고정 길이 벡터 한계를 보완하는 Attention 구조와 WeightSum, AttentionWeight, TimeAttention 구현 정리 한빛미디어의 를 요약 정리한 글이다. Transformer의 출발점이 된 논문은 Attention is All You Need(2017)이다.
- 5.1. The Properties of Determinants 행렬식의 기본 성질과 소거법, 가역성, 곱셈 법칙, 전치와의 관계 정리 연결 강의: MIT 18.06 Linear Algebra - Lecture 18: Properties of determinants 이번 강의부터는 선형대수학의 초점이 다시 정사각행렬로 이동한다.
- RNN 문장 생성 텐서 형상 RNN 문장 생성 과정에서 입력 임베딩, LSTM, 출력층, softmax까지의 텐서 형상을 정리한다. 한빛미디어의 를 요약 정리한 글이다. RNN 또는 LSTM 기반 언어 모델에서 문장을 생성할 때는 단어 ID 하나가 입력으로 들어가고, 모델은 다음 단어의 확률분포를 출력한다.
- 4.4. Orthonormal Bases and Gram-Schmidt 직교기저, 직교행렬, 그람-슈미트 과정, QR 분해 연결 강의: MIT 18.06 Linear Algebra - Lecture 17: Orthogonal matrices and Gram-Schmidt 이번 강의는 다음을 다룬다. 직교기저와 정규직교기저 직교행렬 정규직교기저를 사용하면 투영과 최소제곱 계산이 왜 쉬워지는지 일반 독립 벡터들을 정규직교 벡터들로 바꾸는 그람-슈미트 과정 그람-슈미트 과정을 행렬 언어로 표현한 QR 분해
- RNN을 사용한 문장 생성 RNN 언어 모델을 이용한 문장 생성, seq2seq, Encoder-Decoder 구조와 Peeky 개선 한빛미디어의 를 요약 정리한 글이다. 언어 모델은 지금까지 주어진 단어를 바탕으로 다음에 출현할 단어의 확률분포를 출력한다.
- 4.3. Least Squres Approximations 최소제곱법 연결 강의: MIT 18.06 Linear Algebra - Lecture 16: Projection matrices and least squares 이번 강의의 핵심은 다음 세 가지이다. 프로젝션 행렬
- Gated RNN 기본 RNN의 장기 의존성 문제와 LSTM의 게이트 구조, TimeLSTM 구현, RNNLM 개선 방법 한빛미디어의 를 요약 정리한 글이다. 기본 RNN은 시퀀스 데이터를 순서대로 처리할 수 있지만, 긴 시계열 데이터에서 멀리 떨어진 정보 사이의 의존 관계를 학습하기 어렵다.
- 4.2. Projection 투영 연결 강의: MIT 18.06 Linear Algebra - Lecture 15: Projections onto subspaces 프로젝션이란 어떤 벡터 를 어떤 부분공간 위로 가장 가깝게 내리는 것이라고 볼 수 있다. 가장 먼저 1차원 부분공간, 즉 가 만드는 직선 위로 를 내리는 경우를 생각할 수 있다.
- RNN 순환 신경망의 구조, BPTT와 Truncated BPTT, TimeRNN과 RNN 언어 모델 한빛미디어의 를 요약 정리한 글이다. RNN(Recurrent Neural Network)은 시퀀스 데이터의 시간적 순서를 고려하기 위해 이전 상태 정보를 현재 계산에 반영하는 신경망이다.
- 4.1. Orthogonality of the Four Subspaces 직교와 부분공간 연결 강의: MIT 18.06 Linear Algebra - Lecture 14: Orthogonal vectors and subspaces 이번 강의의 핵심 주제는 직교성(orthogonality) 이다. 직교성은 벡터끼리, 부분공간끼리, 기저끼리 정의할 수 있으며, 기본적으로 서로 90도를 이룬다는 뜻이다.
- Embedding과 Negative Sampling CBOW에서 Embedding 계층과 Negative Sampling을 사용해 계산량을 줄이는 과정 한빛미디어의 를 요약 정리한 글이다. CBOW 모델을 큰 어휘 집합에 그대로 적용하면 계산량이 매우 커진다.
- 3.5. The Four Fundamental Subspaces 부분공간 연결 강의: MIT 18.06 Linear Algebra - Lecture 11: Matrix spaces; rank 1; small world graphs 연결 강의: MIT 18.06 Linear Algebra - Lecture 12: Graphs, networks, incidence matrices 행렬 는 입력 공간 과 출력 공간 내에 4개의 핵심적인 부분공간(Subspace)을 정의한다. 이를 이해하는 것이 선형대수학의 기본 정리(Fundamental Theorem of Linear Algebra)의 핵심이다. 열공간과 좌영공간이 서로 직교 열공간의 벡터(A의 한 열)과 좌영공간의 벡터 의 직교: 열공간이므로, 로 표기. ( 의 한 행 = 의 한 열)
- CBOW CBOW의 구조, 임베딩 벡터와 NLL 손실, skip-gram과의 차이, 통계 기반 기법과 추론 기반 기법의 차이 한빛미디어의 를 요약 정리한 글이다. CBOW(Continuous Bag-of-Words)는 문맥(context) 단어들로부터 중앙(target) 단어를 예측하는 신경망 기반 언어 모델이다.
- 3.4. Independence, Basis, and Dimension 종속, 기저, 차원 연결 강의: MIT 18.06 Linear Algebra - Lecture 10: The four fundamental subspaces 벡터들의 집합 이 독립(Independent) 이라는 것은, 이들의 선형 결합이 영벡터가 되는 유일한 방법이 모든 계수가 0인 경우뿐이라는 뜻이다. 식: 은 오직 일 때만 성립한다. 만약 0이 아닌 가 하나라도 존재해서 을 만들 수 있다면, 그 벡터들은 종속(Dependent) 이다. 교재의 다른 표현: "하나의 벡터가 다른 벡터들의 조합으로 표현된다면 종속이다." () 평면에서의 예시 독립: 두 벡터가 일직선상에 있지 않을 때. 예: 과 . 종속: 두 벡터가 원점을 지나는 같은 직선 위에 있을 때. 예: , . 이때 이므로, 계수가 0이 아닌 해가 존재한다. 종속: 세 개의 벡터가 에 있을 때. ==평면 위의 세 벡터는 반드시 종속==이다. 공간에서의 예시 독립: 세 벡터가 같은 평면(Plane) 위에 있지 않
- PMI, SVD 단어 동시발생 빈도의 고빈도 편향 문제, PMI와 PPMI, PPMI 행렬에 SVD를 적용해 단어 벡터를 만드는 흐름 한빛미디어의 를 요약 정리한 글이다. PMI(Pointwise Mutual Information)는 두 단어가 기대보다 얼마나 자주 함께 등장하는지를 측정하는 지표이다.
- 3.3. The Complete Solution to Ax=b 완전해 연결 강의: MIT 18.06 Linear Algebra - Lecture 8: Solving Ax = b: row reduced form R 연결 강의: MIT 18.06 Linear Algebra - Lecture 9: Independence, basis, and dimension 의 완전해는 의 형태이다. 특수해(Particular Solution ) 는 를 해결하여 구한다. 여기서 는 특수해(particular solution)이고, 은 영공간(nullspace)에 존재하는 해이다. 기하학적으로 의 해집합은 의 해(영공간)를 만큼 평행 이동한 선(또는 평면)과 같다. 를 풀기 위해 행렬 에 벡터 를 붙인 첨가 행렬 를 구성한다. 소거법을 통해 를 형태로 변환하면, 원래 방정식 는 와 동치(equivalent)가 된다. 방정식이 해를 가지려면(solvable), 의 영행(zero rows)에 대응하는 의 성분이 반드시 이어야 한다. 즉, 의
- 합성곱 신경망(CNN) CNN의 기본 구조, 합성곱 연산, 패딩, 스트라이드, 3차원 합성곱, 배치 처리와 풀링 계층 한빛미디어의 을 요약 정리한 글이다. 합성곱 신경망(CNN, Convolutional Neural Network)은 합성곱 계층과 풀링 계층이 추가된 신경망이다.
- 3.2. The Nullspace of A, Solving Ax=0 and Rx=0 영공간 연결 강의: MIT 18.06 Linear Algebra - Lecture 7: Solving Ax = 0: pivot variables, special solutions 영공간 는 을 만족하는 모든 해 벡터들의 집합이다. 이 해 는 (n-차원 공간)에 속한다. (영벡터)는 항상 영공간 에 포함된다. 는 의 부분공간(subspace)이다. (즉, 영공간 내의 벡터끼리 더하거나 스칼라 배를 해도 여전히 영공간에 속한다.) 행렬 에 기본 행 연산(소거)을 적용하여 상삼각행렬 나 기약 행 사다리꼴 을 만들어도 영공간은 변하지 않는다. 따라서 의 해를 구하는 것은 의 해를 구하는 것과 같다. 피벗(Pivot): 소거 후 각 행에서 0이 아닌 첫 번째 성분. 피벗 변수 (Pivot Variables): 피벗을 포함하는 열(column)에 해당하는 변수들이다. 자유 변수 (Free Variables): 피벗이 없는 열에 해당하는 변수들이다. 랭크 (Rank)
- 3.1. Space of Vector 벡터공간 연결 강의: MIT 18.06 Linear Algebra - Lecture 6: Column space and nullspace 벡터 공간은 덧셈과 스칼라곱에 대해 닫혀 있는 벡터들의 집합이다.
- 배치 정규화 배치 정규화의 정의, 필요성, 순전파와 역전파 계산, 학습 안정화 효과 배치 정규화(Batch Normalization, BN)는 딥러닝에서 학습을 안정적이고 빠르게 하기 위해 각 층의 출력을 정규화하는 기법이다. 각 층의 활성화값이 적당히 분포되도록 조정한다. 즉, 활성화값을 적당히 퍼뜨리도록 강제하여 분산이 너무 커지거나 작아지지 않게 유지한다.
- 2.7 Transpose and Permutations 전치, 순열 행렬 연결 강의: MIT 18.06 Linear Algebra - Lecture 5: Transposes, permutations, spaces R^n 전치 행렬 와 순열 행렬 는 선형대수에서 매우 자주 등장하는 기본 행렬이다.
- 과대적합(Overfit) 해결 과대적합의 정의와 발생 상황, 가중치 감소와 드롭아웃을 통한 해결 방법 과대적합(Overfitting)은 신경망이 훈련 데이터에만 지나치게 적응되어, 처음 보는 데이터에는 제대로 대응하지 못하는 현상이다. 훈련 데이터에서는 높은 정확도를 보이지만 테스트 데이터에서는 성능이 낮아진다면 과대적합을 의심할 수 있다.
- 2.6 Elimination = Factorization, A=LU 제거, 인수분해 연결 강의: MIT 18.06 Linear Algebra - Lecture 4: LU and LDU factorization 가우스 소거법에서 소거 과정을 나타내는 행렬을 라고 할 때, 그 역행렬은 로 나타낼 수 있다.
- 매개변수 갱신 SGD의 한계와 Momentum, AdaGrad를 통한 매개변수 갱신 방법 매개변수 갱신(Parameter Update)은 손실 함수의 값을 줄이기 위해 신경망의 가중치와 편향을 반복적으로 수정하는 과정이다. 신경망은 역전파를 통해 각 매개변수에 대한 기울기를 구하고, 이 기울기를 이용해 매개변수를 어느 방향으로 얼마나 이동시킬지 결정한다.
- 2.5. Inverse Matrices 역행렬의 정의, 가역성 판별, 소거행렬의 역, Gauss-Jordan 소거법 연결 강의: MIT 18.06 Linear Algebra - Lecture 3: Multiplication and inverse matrices 정사각행렬 에 대해 어떤 행렬 이 존재해서 다음을 만족하면, 를 invertible matrix라고 한다.
- 가중치 초깃값 설정 신경망 학습에서 가중치 초깃값이 중요한 이유와 Xavier 초기화, He 초기화의 직관 모든 가중치의 값이 동일하면 각 노드가 받는 기울기도 동일해진다. 이 경우 여러 노드를 가진 레이어를 사용하더라도 단일 노드 가중치 레이어와 큰 차이가 없어지고, 각 노드가 서로 다른 특징을 학습하지 못한다.
- 2.4 Rules for Matrix Operation 행렬 연산 규칙 연결 강의: MIT 18.06 Linear Algebra - Lecture 3: Multiplication and inverse matrices 행렬 와 행렬 를 곱하면, 결과 행렬 의 형상은 이다.
- 2.3 Elimination Using Matrices 행렬 이용 소거 연결 강의: MIT 18.06 Linear Algebra - Lecture 2: Elimination with matrices 다음 선형 방정식계를 생각한다.
- 2.2 The Idea of Elimination 소거법의 개념 연결 강의: MIT 18.06 Linear Algebra - Lecture 2: Elimination with matrices 가우스 소거법은 선형 방정식계 를 위삼각행렬 형태의 로 바꾼 뒤, 역대입(back substitution)으로 해를 구하는 방법이다.
- 2.1. Vectors and Linear Equations 벡터와 선형방정식 연결 강의: MIT 18.06 Linear Algebra - Lecture 1: The geometry of linear equations 선형 방정식은 여러 미지수의 선형결합으로 어떤 벡터 를 만드는 문제이다.
- 1.3. Matrix 행렬곱, 차분행렬, cyclic difference, 선형독립과 선형종속 연결 강의: MIT 18.06 Linear Algebra - Lecture 1: The geometry of linear equations 행렬과 벡터의 곱 는 여러 관점에서 볼 수 있다.
- 1.2. Lengths and Dot Products 길이와 내적 정리 연결 강의: MIT 18.06 Linear Algebra - Lecture 1: The geometry of linear equations 내적은 두 벡터의 대응되는 성분끼리 곱한 뒤 모두 더한 값이다.
- 1.1. Row Picture and Column Picture 선형방정식 Ax=b를 행 관점, 열 관점, 행렬 관점으로 바라보는 첫 정리 연결 강의: MIT 18.06 Linear Algebra - Lecture 1: The geometry of linear equations 선형대수학에서 가장 기본이 되는 문제는 선형방정식의 해를 구하는 것이다.
- 행렬 곱 역전파에서 전치행렬이 등장하는 이유 z = Wx 형태의 행렬 곱 노드에서 역전파 시 W의 전치행렬이 등장하는 과정 행렬 곱 노드의 순전파가 다음과 같다고 하자. 이때 역전파에서는 다음 식이 등장한다.
- 곱셈 노드의 역전파 계산 그래프에서 곱셈 노드가 역전파 시 입력과 기울기를 어떻게 전달하는지 정리한다. 곱셈 노드(Multiplication Node)는 계산 그래프에서 두 값을 곱하는 노드이다. 역전파에서는 출력 쪽에서 전달된 기울기에 대해, 각 입력의 반대쪽 값을 곱해서 기울기를 전달한다.
- ART 리빙랩 글로컬 해커톤(8/20~8/21) 후기 AWS와 NxtCloud가 함께한 ART 리빙랩 글로컬 해커톤 참가 후기 2024년 8월, 대전 라마다 호텔에서 열린 ART 리빙랩 글로컬 해커톤에 다녀왔다. AWS와 NxtCloud가 주관하고, 여러 대학이 공동으로 참여한 행사였다. LINC 3.0 참여 대학의 참여 학과 소속 학생이라면 신청할 수 있었고, 내가 있던 쪽에서는 신청자가 많지 않아 나를 포함해 총 세 명이 참가했다.
- [Spring] 스프링 트랜잭션 관리의 기본 개념과 원리 스프링 트랜잭션 관리의 도입 배경, 트랜잭션 추상화, 리소스 동기화, 선언적 트랜잭션 관리와 전파 속성 스프링 프레임워크는 개발자가 복잡한 트랜잭션 처리를 더 쉽게 다룰 수 있도록 강력한 트랜잭션 관리 기능을 제공한다. 이 글에서는 스프링의 트랜잭션 관리가 어떤 원리로 동작하는지, 그리고 기본적으로 어떤 개념을 바탕으로 구성되어 있는지 정리한다. 트랜잭션의 ACID 특성과 함께 스프링이 이를 어떻게 추상화하고 처리하는지 이해하는 것이 목적이다.
- [데이터베이스][MySQL] 트랜잭션 격리 수준과 MySQL 동작 방식 MySQL을 기준으로 트랜잭션 격리 수준, 트랜잭션 이상 현상, MVCC, Next-Key Lock의 동작 방식을 정리 데이터베이스를 활용한 애플리케이션을 개발할 때, 동시에 여러 사용자가 같은 데이터를 읽고 쓰는 상황은 흔하게 발생한다. 이러한 동시성 환경에서 데이터의 정합성을 유지하려면 트랜잭션의 격리 수준을 적절히 설정하는 것이 중요하다. 트랜잭션 격리 수준은 하나의 트랜잭션이 다른 트랜잭션의 작업에 어느 정도까지 영향을 받지 않도록 보호할지를 정의하는 기준이다.
- [데이터베이스][MySQL] 외래키와 잠금 대기 MySQL InnoDB에서 외래키 제약이 부모 테이블과 자식 테이블의 잠금 대기를 유발하는 방식을 정리한다. MySQL InnoDB에서 외래키는 부모 테이블과 자식 테이블 사이의 참조 무결성을 보장한다. 외래키 제약이 걸려 있으면 자식 테이블에 데이터를 추가하거나 수정할 때, 해당 값이 부모 테이블에 실제로 존재하는지 확인해야 한다. 반대로 부모 테이블의 레코드를 삭제하거나 외래키가 참조하는 값을 변경할 때는, 그 값을 참조하는 자식 레코드가 있는지 확인해야 한다.
- 동기/비동기, 블로킹/논블로킹 동기와 비동기, 블로킹과 논블로킹의 정의와 차이점, 조합 동기/비동기와 블로킹/논블로킹은 작업 처리 방식을 설명할 때 자주 함께 등장하는 개념이다. 두 개념은 비슷해 보이지만 구분 기준이 다르다. 동기/비동기: 작업이 순차적으로 진행되는지, 결과를 언제 어떻게 받는지에 대한 구분이다. 블로킹/논블로킹: 작업을 호출한 이후 제어권이 호출자에게 존재하는지에 대한 구분이다.