일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- matlab 영상처리
- 딥러닝 공부
- 파이토치 김성훈 교수님 강의 정리
- TensorFlow
- 파이토치 강의 정리
- c++공부
- Pytorch Lecture
- c언어 정리
- 미디언 필터링
- c언어
- 팀프로젝트
- 파이토치
- 모두의 딥러닝 예제
- 컴퓨터 비전
- 골빈해커
- MFC 프로그래밍
- pytorch zero to all
- tensorflow 예제
- 영상처리
- 모두의 딥러닝
- 김성훈 교수님 PyTorch
- 딥러닝 스터디
- pytorch
- 딥러닝
- C언어 공부
- 케라스 정리
- object detection
- 해리스 코너 검출
- c++
- 가우시안 필터링
- Today
- Total
목록DeepLearning/케라스 - Keras Lib (9)
ComputerVision Jack
핵심 개념 리뷰 인공지능 역사가 깊고, 광범위한 분야 일반적으로 인지 과정을 자동화하기 위한 모든 방법 머신러닝은 인공지능의 한 분분이며 딥러닝은 머신러닝의 한 분야이다. 머신러닝 훈련 데이터를 사용하여 자동으로 프로그램을 개발하는 AI의 특정 하위분야 딥러닝 머신러닝의 여러 종류중 하나. 기하학적 변환 함수들이 번갈아 가며 연속적으로 실게 연결된 모델. 이 연산들은 층이란 모듈을 구성한다. 딥러닝에서 모든것은 벡터이다. 모두가 기하학적 공간에 놓인 하나의 포인트이다. 모델의 입력과 타깃이 먼저 벡터로 바뀌어야 가능하다. 주요 네트워크 구조 벡터 데이터 : 완전 연결 네트워크 이미지 데이터 : 2D 컨브넷 사운드 데이터 : 1D 컨브넷 or RNN 텍스트 데이터 : 1D 컨브넷 or RNN 비디오 데이터..
확장된 인공지능(Augmented intelligence) 여러 분야에서 AI가 사람의 능력을 증가시키는 도구로 사용되는것 LSTM으로 텍스트 생성하기 순환 신경망으로 시퀀스 데이터를 생성할 수 있다. 딥러닝에서 시퀀스 데이터를 생성하는 방법은 이전 토큰을 입력으로 사용해서 시퀀스의 다음 1개 또는 몇 개의 토큰을(RNN이나 컨브넷으로) 예측하는 것이다. 언어 모델(Language model) 텍스트 데이터를 다룰 때 토큰은 보통 단어나 글자이다. 이 전 토큰들이 주어졌을 때 다음 토큰의 확률을 모델링 할 수 있는 네트워크 글자 수준의 신경망 언어 모델(Character-level neural language model) 초기 문자로 텍스트 생성하고 다시 입력으로 사용하고, LSTM층을 사용하여 모델의 ..
케라스 함수형 API 케라스의 함수형 API(Functional API)를 사용해서 그래프 구조를 띤 모델을 만들거나 하나의 층을 다른 입력에 같이 사용하고, 케라스 모델을 함수처럼 사용할 수 있다. 함수형 API가 필요한 이유 기존 Sequential모델은 네트워크의 입력과 출력이 하나이다. 하지만 최근의 개발되는 많은 신경망 구조는 선형적이지 않은 네트워크 토폴로지가 필요하다. 비순환 유향 그래프와 같은 구조를 띈다. [인셉션 모듈] - 비순환 유향 그래프의 예제. 입력이 나란히 놓인 여러개의 합성곱 층을 거쳐 하나의 텐서로 합쳐진다. 최근에 잔차 연결을 추가하기도 한다. [잔차 연결] - 하위 층의 출력텐서를 상위층의 출력 텐서에 더해서 아래층의 표현이 네트워크 위쪽으로 흘러가게 한다. 함수형 AP..
순환 신경망(Recurrent neural network) 시계열 또는 시퀀스 데이터를 처리하는 기본적인 딥러닝 모델 =1D 컨브넷으로 사용하기도 한다. 텍스트 데이터 다루기 텍스트 : 가장 흔한 시퀀스 형태의 데이터 순환 신경망 모델은 문자 언어에 대한 통계적 구조를 만들어 간단한 텍스트 문제를 해결한다. 자연어 처리(natural language processing)를 위한 딥러닝 모델은 단어, 문장, 문단에 적용한 패턴 인식이다. 텍스트 벡터화(vectorizing text) 텍스트를 수치형 텐서로 변환하는 과정 텍스트를 단어로 나누고 각 단어를 하나의 벡터로 변환한다. 텍스트를 문자로 나누고 각 문자를 하나의 벡터로 변환한다. 텍스트에서 단어나 문자의 n-그램(윈도우 사이즈)을 추출하여 하나의 벡..
합성곱 신경망(convolutional neural network) = 컨브넷 CNN 딥러닝 모델 대부분은 컴퓨터 비전(Computer Vision) 애플리케이션에 사용된다. 합성곱 신경망 소개 model = models.Sequential() model.add(layers.Conv2D(32, (3, 3), activation = 'relu', input_shape = (28, 28, 1))) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), activation = 'relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), acti..
머신 러닝 네 가지 분류 기존 다루었던 예제는 모두 지도학습(Supervised learning)의 예이다. 지도학습은 훈련 데이터의 입력과 라벨 사이의 관계를 학습하는 것이다. 지도학습 가장 빈번한 경우. 샘플 데이터가 주어지면 주어진 라벨(타켓)에 입력 데이터를 매핑하는 방법을 학습 지도학습은 회귀와 분류 문제로 구성되지만 예외의 상황도 있다. 시퀀스 생성(Sequence generation) 구문 트리(syntax tree) 예측 물체 감지(object detection) 이미지 분할(image segmentation) 비지도 학습 라벨(타킷)을 사용하지 않고, 입력 데이터에 대해 변환을 찾는다. 데이터 시각화, 데이터 압축, 데이터의 노이즈 제거, 데이터의 상관관계 검출 위해 사용된다. 차원축소(..
케라스 신경망 구조 실행환경 : colab 케라스 신경망 훈련 요소 네트워크(모델) 구성 층 입력 데이터와 대응하는 라벨 cost함수 optimizer(최적화) model.add(layers.Dense(32, input_shape = (784, ))) model.add(layers.Dense(10)) # 모델에 추가된 층을 자동으로 상취 층의 크기에 맞춰진다. 출력층의 크기를 자동으로 채택 이런 네트워크 구조는 다양하게 존재한다.(가지 네트워크, 출력 여러개 네트워크, 인셉션 블록) 따라서 적절한 네트워크 구조를 채택해야한다. 네트워크를 정하면 손실 함수와 옵티마이저를 선택한다. 다출력 신경망은 여러개의 손실함수를 갖는다. 그러나 경사 하강법은 scalar의 손실 기준값으로 하기 때문에 여러 네트워크 손..
MNIST 데이터셋 사용 케라스 간단한 신경망 제작하기. 실행 환경 : clab from keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data() # keras 내의 mnist 데이터셋 불러오기 데이터를 train set과 test set으로 나눈다. [데이터 정보] 28 * 28 손글 씨 영상 영상 수 = 60000개 따라서 train.shape에 관한 정보는 (60000, 28, 28)이 된다. test.shape은 (10000, 28, 28) from keras import models from keras import layers network = models.Seque..