👨‍💻 Deep Learning

RNN에 대한 기본 설명 포스팅입니다. [Deep Learning] RNN에 대한 기본 설명RNN(Recurrent Neural Network)이란?? RNN은 연속된 데이터(시계열, 문장, 음성 등)를 처리하기 위한 딥러닝 구조이다. 핵심 아이디어는 이전 시점의 출력을 현재 시점의 입력으로 다시 사용하는 것.즉, 기datanovice.tistory.com 📌 1. IMDB?Internet Movie Database 데이터셋은 영화 리뷰 텍스트와 그에 대한 '감정 라벨 (긍정 or 부정)'로 구성된 이진 분류용 데이터 셋이다. 총 50,000개의 영화 리뷰가 포함되어있다. (train : test = 5:5).텍스트는 사전 전처리가 되어있어서 단어가 아닌 정수 인덱스 시퀀스 형태로 제공된다.자주 등장..
CNN에 대한 기본 설명 포스팅입니다. [Deep Learning] CNN에 대한 기본 설명 (with pooling, padding)CNN(Convolutional Neural Network)란? 전체 프레임워크 📌 1. CNN의 기본 개념 CNN은 이미지와 같은 2차원 또는 3차원 구조 데이터를 처리하기 위해 설계된 딥러닝 아키텍쳐다.전통적인 DNN은 입력을 일렬로datanovice.tistory.com 📌 1. MNIST?MNIST는 손글씨 숫자 이미지로 구성된 딥러닝 학습용 데이터셋. 아마 모르는 사람이 없을 정도로 일반적인게 아닐까 싶다.'Modified National Institute of Standards and Technology'의 약자인 MNIST는 0부터 9까지의 숫자가 손으로 ..
RNN(Recurrent Neural Network)이란?? RNN은 연속된 데이터(시계열, 문장, 음성 등)를 처리하기 위한 딥러닝 구조이다. 핵심 아이디어는 이전 시점의 출력을 현재 시점의 입력으로 다시 사용하는 것.즉, 기억을 갖는 인공 신경망이라고 이해할 수 있다. 일반적인 인공신경망(ANN, CNN)은 입력 데이터가 정적이고 독립적이라는 가정을 기반으로 설계된다.예를 들어, 이미지 분류는 픽셀 간 공간 관계를 이해하면 충분하고, 각 입력은 시간 순서와는 무관하다.하지만 현실 세계의 데이터는 순서를 갖는 경우가 많다 예를 들어,- 문장, 음성, 주가, 날씨, 센서 데이터 등의 시계열 데이터 이러한 순차적 정보(sequence data)를 처리하기 위해서는 과거의 정보가 현재에 영향을 주는 모델..
CNN(Convolutional Neural Network)란? 전체 프레임워크 📌 1. CNN의 기본 개념 CNN은 이미지와 같은 2차원 또는 3차원 구조 데이터를 처리하기 위해 설계된 딥러닝 아키텍쳐다.전통적인 DNN은 입력을 일렬로 펴(flatten)서 처리하기 때문에, 공간적 구조(예: 이미지의 픽셀 간 관계)를 고려하지 못하는 한계가 있다.이를 극복하기 위해 CNN은 입력의 지역적 정보(local pattern)를 학습할 수 있도록 고안되었고, 시각 영역에서의 혁신적인 성능을 보여주며 다음과 같은 분야에서 광범위하게 사용된다: 이미지 분류, 물체 탐지, 얼굴 인식, 의료 영상 분석, 자율주행 카메라 비전 📌 2. CNN의 알고리즘 구조1) 합성곱? 합성곱(Convolution)이란 두 함수 ..
📌 인공신경망(ANN)이란? 1. ANN 기본 개념 인공신경망(Artificial Neural Network, ANN)은 인간의 두뇌 신경세포(뉴런)의 구조와 작동 원리를 본떠 만든 컴퓨팅 모델이다. 사람의 뇌는 수십억 개의 뉴런이 서로 연결되어 정보를 전달하고 처리하는데, ANN은 이 개념을 수학적으로 모델링하여 데이터로부터 학습하고, 예측하고, 분류할 수 있는 시스템을 구현한다. 초기의 ANN은 단순한 입력-출력 관계를 학습하는 모델이었지만, 현재에 와서는 딥러닝(Deep learning)의 근간이 되는 구조로 발전하여 이미지 인식, 자연어 처리, 게임, 자율주행 등 다양한 분야에서 활용되고 있다. 2. ANN의 알고리즘 구조 1) 기본 구조ANN은 입력층, 은닉층, 출력층의 세 가지 계층으로 구성..
경사하강법(Gradient Descent)와 역전파 알고리즘(Backpropagation)은 딥러닝하면 빼놓을 수 없이 항상 같이 나오는 알고리즘들 입니다. 이들이 뭐고 왜 중요할까요? 딥러닝의 학습 구조는 크게 아래와 같이 이루어져있으며 이를 반복합니다. 1. 입력 데이터를 받아 출력 계산 (Forward Propagation; 순전파)2. 예측 결과와 정답 비교 >> 오차 계산 (Loss)3. 오차를 기준으로 가중치 수정 (Back Propagation + Gradient Descent) 조금 더 자세히 설명해보면 순전파를 통해 output을 계산하고 해당 output과 정답 label을 비교하여 cost function을 계산합니다.이 후 역전파를 통해 각 가중치에 대한 편미분 값 계산. 경사하강법..
딥러닝(Deep Learning)은 인공지능(AI)의 한 분야로, 인간의 뇌가 정보를 처리하는 방법을 모방하여 데이터를 학습하는 기술입니다.(뉴런!). 최근 핫한 컴퓨터 비전, 자연어 처리, 음성 인식 등등 모두 딥러닝이 베이스가 된 기술들입니다. 때문에 인공지능 분야를 공부하는 분들은 딥러닝이 매우 기초가 된다는 것을 알 것이라 생각합니다. 하지만, 머신러닝과 다르게 딥러닝에 대한 지식이 부족한 분들이 많을 것이라 생각합니다. 머신 러닝을 좀 더 깊이 바라본 것이지만 그 안의 내용은 머신러닝을 뛰어넘는 지식을 요구하는 경우가 많습니다. 그럼 딥러닝의 기본 개념과 구성 요소 등을 한 번 알아보겠습니다. 📌 딥러닝 기본 개념딥러닝은 기본 적으로 다층 신경망(Deep Neural Network, DNN)..
Pytorch를 이용해서 DL 프레임워크를 공부하다보면 나오는 squeeze, unsqueeze 함수가 있습니다. 과연 이것이 무엇인지 확인해 보겠습니다. 수학적인 내용도 필요하고 이러한 함수가 왜 필요한지 알아봅시다. 📌 squeeze와 unsqueeze 함수의 역할 1. squeeze 함수 'squeeze()' 함수는 tensor의 차원 중에서 크기가 1인 차원을 제거합니다. 다시 말하면? 불필요한 1차원의 축을 없애주는 것입니다. tensor_a = torch.zeros(1, 3, 1, 5)print(tensor_a.shape) >> (1, 3, 1, 5)tensor_b = tensor._a.squeeze()print(tensor_b.shape)>> (3, 5) 이렇게 tensor_a에 1차원이 ..
오늘은 PyTorch를 이용하여 ANN을 구현해보려고 한다.인공신경망은 뭔지 알고 있는 상황이고 기초적인 코드를 정리해보며 개념과 의미에 대해 생각해보려고 한다. # importimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import DataLoader, TensorDatasetfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScaler # 데이터 로드 및 전처리 본 포스팅에서는 유방암 데이터를 가져와 ..
텐서플로우를 통한 선형회귀 예제입니다. 사실 처음 해볼때 이럴꺼면 사이킷런을 쓰는게..? 라는 생각을 했는데, 좀더 복잡하고 큰 데이터를 다루거나 복잡한 모형을 다룰 때 굉장히 효율적일거라는 생각이 들더군요. 좋은 경험이었습니다. 먼저 데이터를 생성해주고 단순선형회귀 식의 Weight와 bias를 설정해줍니다.# datax_train = [1,2,3]y_train = [1,2,3]# random_normal은 우리가 아직 W, b를 모르기 때문에 rank가 1인 값을 랜덤하게 넣어주는 것.W = tf.Variable(tf.random.normal([1]), name = 'weight')b = tf.Variable(tf.random.normal([1]), name = 'bias') 여기서 Variable는..
Data_novice
'👨‍💻 Deep Learning' 카테고리의 글 목록