[Coursera/IBM course #6] Capstone Project 메모
·
🥇 certification logbook
[IBM course #6] AI Capstone Project with Deep Learning 6번째 코스는 AI Capstone Project로, ResNet을 이용하여 정상 이미지 / 이상 이미지를 분류하는 모델을 만드는 프로젝트를 진행한다.단계별로 실습을 진행하면서, 마지막에는 학습 결과를 제출하고 peer review를 받으면 마무리되는 코스이다.실습을 진행하면서 정리해 두면 좋을 것들을 가볍게 메모하는 수준으로 게시글을 남겨두려 한다. 1. Dataset - 슬라이싱 문법현업에서는 파이썬을 잘 사용하지 않아서 이런 게 튀어나올 때마다 당황한다ㅠ 그리고 공부해도 금방 까먹음 휴 from torch.utils.data import Dataset를 상속해서 사용자 정의 데이터셋 만들기 여기에서,s..
[Coursera/IBM course #5] Convolution 연산 기본 개념
·
🥇 certification logbook
[IBM course #5] Deep Learning with PyTorch Convolution 연산 기본 개념Convolution은 이미지에 작은 필터(=커널)를 움직이면서 겹쳐 곱한 뒤 합산하는 연산으로, 특징(feature)을 추출하는 데 사용된다.Kernel: 고정된 크기의 필터, 예: 3x3작동 방식: 이미지의 각 부분과 커널을 dot product(내적) → 결과값(activation map) 생성 커널 크기(K), 이미지 크기(M), 스트라이드(S), 패딩(P) 일 때,$\text{Output Size} = \frac{M - K + 2P}{S} + 1$→ PyTorch에서 다음과 같이 설정 가능nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3..
[Coursera/IBM course #5] 신경망 (Neural Net)
·
🥇 certification logbook
[IBM course #5] Deep Learning with PyTorch 신경망 (Neural Net)기본 신경망 구조 : 1개의 은닉층(2 뉴런)을 가진 신경망 구조입력 → Linear → Sigmoid → Linear → Sigmoid → Threshold (이진 분류용) 활성화 함수: Sigmoid 사용 (출력값: 0~1)PyTorch 구현 방법: nn.Module 또는 nn.Sequential 활용모든 연산은 행렬 곱 기반으로 처리Forward 패스에서 입력 벡터의 shape 변화 추적 가능 이진 분류 학습손실 함수: nn.BCELoss() (Binary Cross Entropy Loss)최적화 함수: Adam 사용입력: 2D 벡터출력: 0 또는 1 (Sigmoid 통과 후 threshold..
[Coursera/IBM course #5] Softmax
·
🥇 certification logbook
[IBM course #5] Deep Learning with PyTorch SoftmaxSoftmax 함수는 여러 개의 클래스 중 하나를 선택해야 하는 분류 문제에서 자주 사용되는 함수각 클래스에 대해 계산된 값을 확률처럼 변환해주며, 이 확률은 모든 클래스에 대해 0~1 사이의 값으로 나타나며, 총합은 1이되게 된다. 1D 예시클래스 3개(파랑/빨강/초록)로 구분각 클래스마다 선형 함수(z0, z1, z2)를 적용한 후 argmax로 예측 - argmax 함수: 가장 큰 값을 갖는 인덱스를 반환예를 들어, z = [1.2, 3.5, 0.8]의 argmax(z)는 1 (가장 큰 값 3.5의 인덱스) 2D 예시 + MNISTMNIST 이미지 (28x28)는 784차원의 벡터로 변환됨각 클래스(0~9)는 ..
[Coursera/IBM course #4] Linear Regression Prediction
·
🥇 certification logbook
[IBM course #4] Introduction to Neural Networks and PyTorch Linear Regression Prediction독립 변수 x, 종속 변수 y 사이의 관계를 선형 함수로 모델링.모델: y = w*x + b (w: weight, b: bias)예측값은 ŷ로 표기. 직접 텐서로 모델 정의requires_grad=True로 파라미터 정의forward() 함수에서 직접 선형 계산 수행2행 1열 텐서 입력 → 각 행마다 선형 함수 적용하여 출력 텐서 생성 가능w = torch.tensor(2.0, requires_grad = True)b = torch.tensor(-1.0, requires_grad = True)def forward(x): yhat = w * x ..
[Coursera/IBM course #4] Dataset
·
🥇 certification logbook
[IBM course #4] Introduction to Neural Networks and PyTorch Simple DatasetDataset 클래스torch.utils.data.Dataset은 PyTorch에서 데이터셋을 커스터마이징할 수 있도록 제공하는 추상 클래스(Abstract Class)주로 __init__, __len__, __getitem__ 메서드를 구현해서 나만의 데이터셋을 만들 수 있음__init__ : 초기화 메서드. 파일 경로, 라벨, 전처리 등을 저장하고 준비__len__ : 데이터셋의 총 길이 반환. len(dataset) 호출 시 몇 개의 샘플이 있는지 알려줌__getitem__ : 주어진 index에 해당하는 데이터 샘플 하나를 반환. dataset[i] 호출 시 i번째 ..
[Coursera/IBM course #4] Tensors
·
🥇 certification logbook
[IBM course #4] Introduction to Neural Networks and PyTorch Overview of Tensors신경망은 수학적 함수이며, 입력 → 처리 → 출력 구조로 구성.PyTorch의 모든 구성 요소는 텐서로 표현된다.즉,입력 x → 텐서출력 y → 텐서신경망의 가중치 (파라미터) → 텐서 PyTorch 텐서는 쉽게 NumPy 배열로 변환 가능PyTorch는 GPU 연산을 손쉽게 지원 파라미터에 대해 requires_grad=True로 설정 시, 자동 미분이 가능→ 이를 통해 모델 학습이 가능해짐 Tensors 1D0차원 텐서 → 숫자1차원 텐서 → 숫자의 배열 (DB의 row, vector, time series) tensor types실수 → float tensor..
[Coursera/IBM course #3] 강화학습(Reinforcement Learning)
·
🥇 certification logbook
[IBM AI course #3] Deep Learning & Neural Networks with Keras 강화학습(Reinforcement Learning)에이전트는 환경과 상호작용하며, 행동(action)을 통해 환경을 변화시키고 보상(reward)을 받음.(예: 게임에서는 플레이어 = 에이전트, 체스판이나 웹페이지 = 환경.)→ 에이전트가 보상을 극대화하는 최적의 정책(policy)을 학습하는 알고리즘 사례DeepMind의 Atari, AlphaGo는 강화학습 기반으로 인간을 이김. 학습 원리행동은 환경 상태를 변화시키고,보상이 주어지면 해당 행동이 강화되어, 유사한 상황에서 반복될 가능성이 높아짐보상은 즉시 주어지지 않을 수 있고, 여러 단계 후에 발생하는 경우도 있음 문제점데이터와 연산량이 ..
[Coursera/IBM course #3] Advanced Keras Techniques
·
🥇 certification logbook
[IBM AI course #3] Deep Learning & Neural Networks with Keras Advanced Keras TechniquesCustom Training Loops: 고급 학습 전략 구현 가능.Custom Layers: tf.keras.layers.Layer 상속 후 build 및 call 정의.Custom Callbacks: 학습 중 사용자 정의 로직 실행. Keras의 Custom Training Loop기본 fit() 대신 직접 학습 루프 구현 → 유연성 향상Dataset, Model, Optimizer, Loss function 방법데이터셋을 반복(iterate)모델 예측 수행손실(loss) 계산tf.GradientTape를 이용해 기울기(gradient) 계산옵티마..
[Coursera/IBM course #3] Unsupervised Learning in Keras
·
🥇 certification logbook
[IBM AI course #3] Deep Learning & Neural Networks with Keras Unsupervised Learning in KerasUnsupervised Learning라벨(정답)이 없는 데이터를 기반으로 숨겨진 패턴과 구조를 찾는 기법.클러스터링, 차원 축소, 이상 탐지 등에 활용n">분류설명예시n">Clustering비슷한 데이터끼리 그룹(클러스터)로 나누기K-means, Hierarchical Clusteringn">Association변수들 간의 빈번한 관계/규칙 찾기Apriori, Eclatn">Dimensionality Reduction데이터의 차원 축소를 통해 핵심 특성만 추출PCA, T-SNE 오토인코더Dimensionality Reduction의 PCA..