딥러닝 / CS231N / LECTURE
LECTURE
- CS231n Lecture 17 - Robot Learning reinforcement learning, model-based planning, imitation learning, vision-language-action models Robot learning은 action으로 환경을 바꾸며 장기적인 reward를 높이는 policy를 학습하는 sequential decision-making 문제이다. Supervised learning은 고정된 데이터셋의 입력 에서 label 를 예측한다. #LECTURE
- CS231n Lecture 16 - Vision and Language CLIP, multimodal language models, grounding, model chaining Vision-language foundation model은 이미지와 텍스트를 공통 representation으로 정렬하거나 visual token을 language model의 context로 주입해 여러 과제를 하나의 pretrained model로 풀며, grounding과 promptable output, tool chaining을 더해 텍스트 응답을 실제 픽셀과 전문 vision model의 동작으로 연결한다. 전통적인 computer vision pipeline은 과제마다 데이터셋과 모델을 따로 만든다. #LECTURE
- CS231n Lecture 15 - 3D Vision 3D representations, neural fields, NeRF, Gaussian splatting 3D vision은 geometry와 appearance를 point cloud, mesh, voxel, implicit function 등으로 표현하고, 2D·3D 관측에서 이를 학습해 장면 복원과 새로운 시점의 이미지 합성에 사용한다. 2D 이미지는 보통 일정한 grid 위의 pixel tensor로 표현한다. 반면 3D 물체는 geometry뿐 아니라 질감, 재질, 조명에 따른 appearance까지 포함하며, 이를 표현하는 표준적인 형식이 하나로 정해져 있지 않다. #LECTURE
- CS231n Lecture 14 - Generative Models 2 Generative adversarial networks, rectified flow, latent diffusion GAN은 discriminator와 generator의 adversarial game으로 data distribution을 암묵적으로 맞추고, diffusion과 rectified flow는 노이즈와 데이터 사이의 경로를 학습해 반복적인 reverse process로 샘플을 생성한다. 명시적 밀도 모델(explicit density model)은 데이터 에 대한 확률밀도 를 명시적으로 정의한다. Autoregressive model은 이를 정확하게 계산하고, VAE는 로그우도의 하한인 ELBO를 계산한다. #LECTURE
- CS231n Lecture 13 - Generative Models 1 Maximum likelihood, autoregressive models, variational autoencoders Generative model은 data를 만든 probability distribution을 학습하는 모델이며, autoregressive model은 chain rule로 exact likelihood를 계산하고 VAE는 latent variable과 ELBO를 도입해 tractable한 lower bound로 학습한다. Supervised learning에서는 input과 target의 pair가 주어진다. #LECTURE
- CS231n Lecture 12 - Self-Supervised Learning Pretext task, MAE, contrastive representation learning Self-supervised learning(자기지도학습)은 label이 없는 data 자체에서 학습 목표를 만들고, reconstruction이나 contrastive objective를 통해 다양한 downstream task에 재사용할 수 있는 representation을 학습하는 방법이다. Supervised learning은 input과 사람이 만든 label의 쌍을 사용한다. Image classification의 class label도 비용이 들지만, object detection의 bounding box나 semantic segmentation의 pixel label은 훨씬 더 많은 작업을 요구한다. 새로운 domain으로 옮길 때마다 같은 규모의 label을 다시 만드는 것도 어렵다. #LECTURE
- CS231n Lecture 11 - Large-Scale Distributed Training GPU cluster의 memory, communication, parallelism Large-scale distributed training은 거대한 model과 batch를 여러 accelerator에 나누는 것만으로 끝나지 않으며, GPU와 cluster의 계층적인 memory bandwidth에 맞춰 computation과 communication을 겹치고 data, parameter, sequence, layer 축의 parallelism을 조합해 Model FLOPs Utilization을 높이는 문제이다. Computer가 수행하는 작업은 크게 computation과 communication으로 나눌 수 있다. Computation은 input bit로부터 새로운 output bit를 계산하는 작업이다. Communication은 data를 한 memory 또는 device에서 다른 곳으로 옮기는 작업이다. #LECTURE
- CS231n Lecture 10 - Video Understanding Spatiotemporal representation과 action recognition Video understanding은 image에 time dimension을 더한 spatiotemporal data에서 appearance와 motion을 함께 표현하는 문제이며, frame pooling부터 3D CNN, optical flow 기반 two-stream network, recurrent model, space-time attention까지의 차이는 결국 temporal information을 언제 어떻게 결합하느냐에 있다. RGB image 한 장은 일반적으로 다음과 같이 표현한다. #LECTURE
- CS231n Lecture 9 - Object Detection, Image Segmentation, and Visualization Dense prediction과 모델 시각화 Image segmentation과 object detection은 image-level classification을 pixel, region, object 단위의 dense prediction으로 확장한 문제이며, saliency map과 CAM(Class Activation Mapping) 계열 기법은 예측 score를 다시 image 공간에 연결해 model이 어느 영역을 사용했는지 해석한다. 같은 image를 입력받더라도 무엇을 출력하느냐에 따라 task가 달라진다. #LECTURE
- CS231n Lecture 8 - Attention and Transformers Attention 연산과 Transformer 구조 Attention은 query와 key의 유사도로 value를 가중합하는 연산이며, Transformer는 self-attention으로 token 사이의 정보를 섞고 FFN으로 각 token을 독립적으로 변환하는 block을 반복해 sequence를 처리한다. Sequence-to-sequence model은 길이가 다른 두 sequence 사이의 mapping을 학습한다. 기계번역에서는 영어 문장을 입력받아 이탈리아어 문장을 출력할 수 있으며, 두 문장의 단어 수와 어순은 서로 다를 수 있다. #LECTURE
- CS231n Lecture 7 - Recurrent Neural Networks RNN 구조와 sequence modeling RNN은 이전 hidden state와 현재 입력을 같은 가중치로 반복 처리해 가변 길이 sequence를 모델링하며, BPTT로 시간축을 따라 학습하지만 순차 계산과 vanishing gradient라는 한계가 있어 LSTM과 현대적인 state space model로 발전했다. 일반적인 image classifier는 하나의 고정된 크기 입력을 받아 하나의 고정된 크기 출력을 만든다. Sequence modeling에서는 입력이나 출력이 가변 길이 sequence가 될 수 있다. #LECTURE
- CS231n Lecture 6 - Training CNNs and CNN Architectures CNN 구성 요소와 아키텍처, 초기화, 데이터 증강, 전이 학습, 학습 방법 CNN을 안정적으로 학습하려면 합성곱만 쌓는 것이 아니라 정규화, Dropout, 활성화 함수를 목적에 맞게 배치하고, 잔차 연결과 Kaiming 초기화로 깊은 신경망의 최적화를 안정화하며, 데이터 증강과 전이 학습, 올바른 디버깅 절차까지 하나의 학습 과정으로 연결해야 한다. CNN을 다룰 때는 두 문제를 구분해야 한다. 어떤 계층을 어떤 순서와 형태로 연결해 아키텍처를 만들 것인가? 만들어진 아키텍처가 실제 데이터에서 안정적으로 학습되도록 어떻게 준비하고 검증할 것인가? #LECTURE
- CS231n Lecture 5 - Image Classification with CNNs CNN 이미지 분류 CNN은 작은 필터를 이미지 전체에 공유하며 적용해 공간 구조를 보존하고, 단순한 경계부터 복잡한 물체 특징까지 계층적으로 학습하는 신경망이다. 앞선 강의에서는 이미지 분류를 예제로 딥러닝 시스템을 구성하는 기본 요소를 배웠다. 전체 흐름은 다음과 같이 정리할 수 있다. 입력과 출력을 텐서로 표현한다. 입력으로부터 출력 점수를 계산하는 모델을 정의한다. 모델의 예측이 얼마나 나쁜지를 측정하는 손실 함수를 정의한다. 역전파로 손실에 대한 파라미터의 기울기를 계산한다. 경사하강법 기반 최적화 알고리즘으로 파라미터를 갱신한다. #LECTURE
- CS231n Lecture 4 - Neural Networks and Backpropagation Neural Networks, Backprop Neural network는 여러 linear transformation 사이에 nonlinearity를 넣어 복잡한 함수를 표현하고, backpropagation은 chain rule을 이용해 loss가 각 parameter에 미치는 영향을 효율적으로 계산하는 방법이다. Lecture 3에서는 loss function을 정의하고, regularization과 optimization으로 좋은 weight를 찾는 방법을 봤다. 하지만 지금까지의 모델은 여전히 linear classifier라서, 선 하나로 나눌 수 없는 데이터에는 한계가 있다. #LECTURE
- CS231n Lecture 3 - Regularization and Optimization Regularization의 목적, L1/L2 정규화, gradient descent, SGD, momentum, RMSProp, Adam과 learning rate schedule Regularization은 모델이 training data에 너무 잘 맞는 것을 막아 test data에서 더 잘 동작하게 만드는 장치이고, optimization은 loss를 줄이는 방향으로 파라미터 를 찾는 과정이다. 이번 강의의 흐름은 loss function -> regularization -> gradient descent -> SGD -> momentum / RMSProp / Adam -> learning rate schedule로 이어진다. #LECTURE
- CS231n Lecture 2 - Image Classification with Linear Classifiers 이미지 분류 문제, 데이터 기반 접근, Nearest Neighbor와 K-NN, 선형 분류기의 입력 shape와 score 계산 정리 CS231n Lecture 2 내용을 개인 학습용으로 정리한 글이다. 이미지 분류는 이미지를 텐서 입력으로 받아, 미리 정해진 클래스 중 하나의 라벨을 예측하는 문제이다. #LECTURE
- CS231n Lecture 1 - Introduction 컴퓨터 비전의 문제 정의, 데이터 기반 접근, 이미지 분류와 딥러닝으로 이어지는 흐름 정리 CS231n Lecture 1 내용을 개인 학습용으로 정리한 글이다. 컴퓨터 비전은 픽셀 배열에서 의미를 뽑아내는 문제이며, 현대적 접근은 사람이 규칙을 만들기보다 데이터로 모델을 학습시키는 것이다. 우리 뇌에서 뉴런은 계층 구조를 지닌다. 강의에서는 Hubel과 Wiesel의 고양이 시각 피질 실험을 통해 단순한 선과 모서리에서 점차 복잡한 객체로 인식하는 계층적 구조가 밝혀졌다고 언급한다. 컴퓨터 비전은 이미지를 숫자 배열로 보고 의미를 예측하는 문제이다. 이미지 분류 모델은 픽셀의 표면적 차이를 넘어서 객체의 본질적인 패턴을 학습해야 한다. 데이터 기반 접근은 규칙을 직접 설계하지 않고, 대량의 데이터셋을 통해 모델이 분류 기준을 스스로 학습하게 하는 방식이다. 대표적인 예로 ImageNet이 있다. #LECTURE
딥러닝 / CS231N / LECTURE
LECTURE
- CS231n Lecture 17 - Robot Learning reinforcement learning, model-based planning, imitation learning, vision-language-action models Robot learning은 action으로 환경을 바꾸며 장기적인 reward를 높이는 policy를 학습하는 sequential decision-making 문제이다. Supervised learning은 고정된 데이터셋의 입력 에서 label 를 예측한다. #LECTURE
- CS231n Lecture 16 - Vision and Language CLIP, multimodal language models, grounding, model chaining Vision-language foundation model은 이미지와 텍스트를 공통 representation으로 정렬하거나 visual token을 language model의 context로 주입해 여러 과제를 하나의 pretrained model로 풀며, grounding과 promptable output, tool chaining을 더해 텍스트 응답을 실제 픽셀과 전문 vision model의 동작으로 연결한다. 전통적인 computer vision pipeline은 과제마다 데이터셋과 모델을 따로 만든다. #LECTURE
- CS231n Lecture 15 - 3D Vision 3D representations, neural fields, NeRF, Gaussian splatting 3D vision은 geometry와 appearance를 point cloud, mesh, voxel, implicit function 등으로 표현하고, 2D·3D 관측에서 이를 학습해 장면 복원과 새로운 시점의 이미지 합성에 사용한다. 2D 이미지는 보통 일정한 grid 위의 pixel tensor로 표현한다. 반면 3D 물체는 geometry뿐 아니라 질감, 재질, 조명에 따른 appearance까지 포함하며, 이를 표현하는 표준적인 형식이 하나로 정해져 있지 않다. #LECTURE
- CS231n Lecture 14 - Generative Models 2 Generative adversarial networks, rectified flow, latent diffusion GAN은 discriminator와 generator의 adversarial game으로 data distribution을 암묵적으로 맞추고, diffusion과 rectified flow는 노이즈와 데이터 사이의 경로를 학습해 반복적인 reverse process로 샘플을 생성한다. 명시적 밀도 모델(explicit density model)은 데이터 에 대한 확률밀도 를 명시적으로 정의한다. Autoregressive model은 이를 정확하게 계산하고, VAE는 로그우도의 하한인 ELBO를 계산한다. #LECTURE
- CS231n Lecture 13 - Generative Models 1 Maximum likelihood, autoregressive models, variational autoencoders Generative model은 data를 만든 probability distribution을 학습하는 모델이며, autoregressive model은 chain rule로 exact likelihood를 계산하고 VAE는 latent variable과 ELBO를 도입해 tractable한 lower bound로 학습한다. Supervised learning에서는 input과 target의 pair가 주어진다. #LECTURE
- CS231n Lecture 12 - Self-Supervised Learning Pretext task, MAE, contrastive representation learning Self-supervised learning(자기지도학습)은 label이 없는 data 자체에서 학습 목표를 만들고, reconstruction이나 contrastive objective를 통해 다양한 downstream task에 재사용할 수 있는 representation을 학습하는 방법이다. Supervised learning은 input과 사람이 만든 label의 쌍을 사용한다. Image classification의 class label도 비용이 들지만, object detection의 bounding box나 semantic segmentation의 pixel label은 훨씬 더 많은 작업을 요구한다. 새로운 domain으로 옮길 때마다 같은 규모의 label을 다시 만드는 것도 어렵다. #LECTURE
- CS231n Lecture 11 - Large-Scale Distributed Training GPU cluster의 memory, communication, parallelism Large-scale distributed training은 거대한 model과 batch를 여러 accelerator에 나누는 것만으로 끝나지 않으며, GPU와 cluster의 계층적인 memory bandwidth에 맞춰 computation과 communication을 겹치고 data, parameter, sequence, layer 축의 parallelism을 조합해 Model FLOPs Utilization을 높이는 문제이다. Computer가 수행하는 작업은 크게 computation과 communication으로 나눌 수 있다. Computation은 input bit로부터 새로운 output bit를 계산하는 작업이다. Communication은 data를 한 memory 또는 device에서 다른 곳으로 옮기는 작업이다. #LECTURE
- CS231n Lecture 10 - Video Understanding Spatiotemporal representation과 action recognition Video understanding은 image에 time dimension을 더한 spatiotemporal data에서 appearance와 motion을 함께 표현하는 문제이며, frame pooling부터 3D CNN, optical flow 기반 two-stream network, recurrent model, space-time attention까지의 차이는 결국 temporal information을 언제 어떻게 결합하느냐에 있다. RGB image 한 장은 일반적으로 다음과 같이 표현한다. #LECTURE
- CS231n Lecture 9 - Object Detection, Image Segmentation, and Visualization Dense prediction과 모델 시각화 Image segmentation과 object detection은 image-level classification을 pixel, region, object 단위의 dense prediction으로 확장한 문제이며, saliency map과 CAM(Class Activation Mapping) 계열 기법은 예측 score를 다시 image 공간에 연결해 model이 어느 영역을 사용했는지 해석한다. 같은 image를 입력받더라도 무엇을 출력하느냐에 따라 task가 달라진다. #LECTURE
- CS231n Lecture 18 - Human-Centered AI human-centered computer vision, fairness, privacy, healthcare, assistive robotics Human-centered AI는 단순히 인간과 같은 시각 능력을 만드는 데서 끝나지 않고, 인간이 놓치는 정보를 보완하면서도 편향과 개인정보 보호를 다루고, 최종적으로는 인간이 실제로 원하고 가치 있다고 판단한 일을 안전하게 돕도록 AI의 목표와 평가 기준을 설계하는 관점이다. Computer vision은 오랫동안 인간의 시각 능력을 재현하는 문제로 발전해 왔다. 그러나 모델의 성능이 높아질수록 단순히 무엇을 인식할 수 있는지만으로는 충분하지 않다. 무엇을 보게 할 것인지, 무엇을 보지 않아야 하는지, 그 결과가 누구에게 어떤 영향을 주는지까지 함께 고려해야 한다. #LECTURE
- CS231n Lecture 8 - Attention and Transformers Attention 연산과 Transformer 구조 Attention은 query와 key의 유사도로 value를 가중합하는 연산이며, Transformer는 self-attention으로 token 사이의 정보를 섞고 FFN으로 각 token을 독립적으로 변환하는 block을 반복해 sequence를 처리한다. Sequence-to-sequence model은 길이가 다른 두 sequence 사이의 mapping을 학습한다. 기계번역에서는 영어 문장을 입력받아 이탈리아어 문장을 출력할 수 있으며, 두 문장의 단어 수와 어순은 서로 다를 수 있다. #LECTURE
- CS231n Lecture 7 - Recurrent Neural Networks RNN 구조와 sequence modeling RNN은 이전 hidden state와 현재 입력을 같은 가중치로 반복 처리해 가변 길이 sequence를 모델링하며, BPTT로 시간축을 따라 학습하지만 순차 계산과 vanishing gradient라는 한계가 있어 LSTM과 현대적인 state space model로 발전했다. 일반적인 image classifier는 하나의 고정된 크기 입력을 받아 하나의 고정된 크기 출력을 만든다. Sequence modeling에서는 입력이나 출력이 가변 길이 sequence가 될 수 있다. #LECTURE
- CS231n Lecture 6 - Training CNNs and CNN Architectures CNN 구성 요소와 아키텍처, 초기화, 데이터 증강, 전이 학습, 학습 방법 CNN을 안정적으로 학습하려면 합성곱만 쌓는 것이 아니라 정규화, Dropout, 활성화 함수를 목적에 맞게 배치하고, 잔차 연결과 Kaiming 초기화로 깊은 신경망의 최적화를 안정화하며, 데이터 증강과 전이 학습, 올바른 디버깅 절차까지 하나의 학습 과정으로 연결해야 한다. CNN을 다룰 때는 두 문제를 구분해야 한다. 어떤 계층을 어떤 순서와 형태로 연결해 아키텍처를 만들 것인가? 만들어진 아키텍처가 실제 데이터에서 안정적으로 학습되도록 어떻게 준비하고 검증할 것인가? #LECTURE
- CS231n Lecture 5 - Image Classification with CNNs CNN 이미지 분류 CNN은 작은 필터를 이미지 전체에 공유하며 적용해 공간 구조를 보존하고, 단순한 경계부터 복잡한 물체 특징까지 계층적으로 학습하는 신경망이다. 앞선 강의에서는 이미지 분류를 예제로 딥러닝 시스템을 구성하는 기본 요소를 배웠다. 전체 흐름은 다음과 같이 정리할 수 있다. 입력과 출력을 텐서로 표현한다. 입력으로부터 출력 점수를 계산하는 모델을 정의한다. 모델의 예측이 얼마나 나쁜지를 측정하는 손실 함수를 정의한다. 역전파로 손실에 대한 파라미터의 기울기를 계산한다. 경사하강법 기반 최적화 알고리즘으로 파라미터를 갱신한다. #LECTURE
- CS231n Lecture 4 - Neural Networks and Backpropagation Neural Networks, Backprop Neural network는 여러 linear transformation 사이에 nonlinearity를 넣어 복잡한 함수를 표현하고, backpropagation은 chain rule을 이용해 loss가 각 parameter에 미치는 영향을 효율적으로 계산하는 방법이다. Lecture 3에서는 loss function을 정의하고, regularization과 optimization으로 좋은 weight를 찾는 방법을 봤다. 하지만 지금까지의 모델은 여전히 linear classifier라서, 선 하나로 나눌 수 없는 데이터에는 한계가 있다. #LECTURE
- CS231n Lecture 3 - Regularization and Optimization Regularization의 목적, L1/L2 정규화, gradient descent, SGD, momentum, RMSProp, Adam과 learning rate schedule Regularization은 모델이 training data에 너무 잘 맞는 것을 막아 test data에서 더 잘 동작하게 만드는 장치이고, optimization은 loss를 줄이는 방향으로 파라미터 를 찾는 과정이다. 이번 강의의 흐름은 loss function -> regularization -> gradient descent -> SGD -> momentum / RMSProp / Adam -> learning rate schedule로 이어진다. #LECTURE
- CS231n Lecture 2 - Image Classification with Linear Classifiers 이미지 분류 문제, 데이터 기반 접근, Nearest Neighbor와 K-NN, 선형 분류기의 입력 shape와 score 계산 정리 CS231n Lecture 2 내용을 개인 학습용으로 정리한 글이다. 이미지 분류는 이미지를 텐서 입력으로 받아, 미리 정해진 클래스 중 하나의 라벨을 예측하는 문제이다. #LECTURE
- CS231n Lecture 1 - Introduction 컴퓨터 비전의 문제 정의, 데이터 기반 접근, 이미지 분류와 딥러닝으로 이어지는 흐름 정리 CS231n Lecture 1 내용을 개인 학습용으로 정리한 글이다. 컴퓨터 비전은 픽셀 배열에서 의미를 뽑아내는 문제이며, 현대적 접근은 사람이 규칙을 만들기보다 데이터로 모델을 학습시키는 것이다. 우리 뇌에서 뉴런은 계층 구조를 지닌다. 강의에서는 Hubel과 Wiesel의 고양이 시각 피질 실험을 통해 단순한 선과 모서리에서 점차 복잡한 객체로 인식하는 계층적 구조가 밝혀졌다고 언급한다. 컴퓨터 비전은 이미지를 숫자 배열로 보고 의미를 예측하는 문제이다. 이미지 분류 모델은 픽셀의 표면적 차이를 넘어서 객체의 본질적인 패턴을 학습해야 한다. 데이터 기반 접근은 규칙을 직접 설계하지 않고, 대량의 데이터셋을 통해 모델이 분류 기준을 스스로 학습하게 하는 방식이다. 대표적인 예로 ImageNet이 있다. #LECTURE