본문 바로가기

분류 전체보기124

포켓몬 분류 해보기 Train : https://www.kaggle.com/datasets/thedagger/pokemon-generation-one Pokemon Generation One Gotta train 'em all! www.kaggle.com Validation : https://www.kaggle.com/hlrhegemony/pokemon-image-dataset Complete Pokemon Image Dataset 2,500+ clean labeled images, all official art, for Generations 1 through 8. www.kaggle.com import os os.environ['KAGGLE_USERNAME'] = '아이디' os.environ['KAGGLE_KEY'] =.. 2024. 1. 14.
전이 학습 1. 에일리언 vs 프레데터 데이터셋 https://www.kaggle.com/datasets/pmigdal/alien-vs-predator-images Alien vs. Predator images Small image classification - for transfer learning www.kaggle.com 케글 로그인 -> 우측 상단 계정 클릭 -> Your Profile -> 중앙에 Account를 클릭 -> API 항목에 Create New API Token -> kaggle.json이 다운로드 됨 copy API command 해서 ! 뒤에 붙여넣기 압출 풀기 : !unzip -q 파일이름 import os os.environ['KAGGLE_USERNAME'] = "아이디" os.envi.. 2024. 1. 12.
간단한 CNN모델 만들기 실습 1. 단계별로 예시 보기 import torch import torch.nn as nn import torch.optim as optim # 배치크기 / 채널(1 : 그레이스케일, 3: 컬러) / 높이 / 너비 inputs = torch.Tensor(1, 1, 28, 28) print(inputs.shape) // torch.Size([1, 1, 28, 28]) # 첫번째 Conv2D # kernel_size=3 : 필터 사이즈. 3*3. 클수록 출력값이 작아짐 # padding='same' : 출력 크기 동일하게 유지 conv1 = nn.Conv2d(in_channels=1, out_channels=32, kernel_size=3, padding='same') out = conv1(inputs) pri.. 2024. 1. 11.
CNN 기초 1. CNN(Convolutional Neural Networks) 합성곱 인공 신경망(CNN)은 전통적인 뉴럴 네트워크에 컨볼루션(Convolutional) 레이어를 추가한 형태로, 주로 이미지 처리 작업에 사용됩니다. 딥 뉴럴 네트워크(DNN)가 이미지를 분류할 때의 주요 문제는 1차원 형태의 데이터를 다루어야 한다는 점입니다. 일반적인 DNN 구조에서는 2차원 이상의 이미지 데이터를 입력으로 사용할 경우, 데이터를 flatten하여 1차원으로 변환해야 합니다. 이로 인해 이미지의 공간적 및 지역적 정보가 손실되는 문제가 발생합니다. 이러한 문제를 극복하기 위해 컨볼루셔널 레이어가 도입되었습니다. 컨볼루셔널 레이어는 이미지를 그대로(raw input) 받아들이므로, 데이터를 1차원으로 펼치지 않고도 .. 2024. 1. 10.
비선형 활성화 함수 1. 비선형 활성화 함수(Activation Functions) 비선형 활성화 함수는 신경망에서 사용되는 함수로, 주로 입력값에 비선형성을 추가하여 신경망이 복잡한 비선형 관계를 학습할 수 있도록 도와줍니다. 이 함수들은 신경망의 각 뉴런에 적용되어 그 결과를 생성합니다. 선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에, 여러 층의 선형 함수를 사용하면 결국 전체 네트워크가 하나의 선형 함수로 표현될 수 있습니다. 이는 층을 여러 번 쌓아도 신경망의 복잡성이 증가하지 않는다는 의미이며, 복잡한 패턴을 학습하는 데 한계가 있습니다. 비선형 활성화 함수를 사용함으로써, 각 뉴런의 출력이 비선형 관계를 나타낼 수 있습니다. 이를 통해 신경망은 다양한 데이터의 패턴을 학습할 수 있게 됩니다. .. 2024. 1. 10.
딥러닝 1. 뉴런(neuron) 1-1. 생물학적 뉴런 인간의 뇌는 약 수십억 개의 뉴런으로 이루어져 있습니다. 이 뉴런들은 화학적 및 전기적인 신호를 처리하고 전달하는 연결된 뇌 신경 세포입니다. 뇌의 복잡한 네트워크에서 각 뉴런은 다른 뉴런들과 상호 작용하며 정보를 처리하고 전달합니다. 1-2. 인공뉴런 1943년에 워렌 맥컬록과 월터 피츠는 생물학적 뉴런의 단순화된 모델을 제시했습니다. 이 모델에서 뉴런은 이진 출력을 갖는 단순한 논리 게이트로 설명되었습니다. 인공 뉴런은 이러한 개념을 바탕으로 하여, 각 뉴런이 입력을 받아 개별적으로 가중치를 곱한 후 그 합계를 비선형 함수로 전달하여 최종 출력을 생성하는 수학적 기능을 수행합니다. 이는 생물학적 뉴런의 동작을 모방하면서도 수학적으로 효과적인 정보 처리를.. 2024. 1. 9.