본문 바로가기

분류 전체보기

(83)
[밑바닥부터 시작하는 딥러닝] 7장 합성곱 신경망(CNN) 합성곱 신경망 CNN 7.1 전체 구조 합성곱 계층, 풀링 계층 완전연결 - 인접하는 계층의 모든 뉴런과 결합 → Affine 계층 + 합성곱 계층, 풀링 계층이 추가됨 출력에 가까운 층에서는 지금까지의 Affine-Relu 구성 사용 가능 마지막 출령 계층에서는 'Affine-Softmax' 조합 그대로 사용함 7.2 합성곱 계층 3차원 데이터같은 입체적인 데이터가 흐름 데이터의 형상이 무시됨, 모든 입력 데이터를 동등한 뉴런으로 취급함 (형상에 담긴 정보를 살릴 수 없음) 3차원 데이터 → 1차원 데이터로 평탄화해서 입력 + 합성곱 계층은 형상을 유지함 특징맵 - CNN에서 합성곱 계층의 입출력 데이터 입력데이터 - 입력 특징 맵 / 출력 데이터 - 출력 특징 맵 필터 연산 필터의 윈도우를 일정 간격..
[밑바닥부터 시작하는 딥러닝] 6장 학습 관련 기술들 가중치 매개변수의 최적값을 탐색하는 최적화 방법, 가중치 매개변수 초깃값, 하이퍼파라미터 설정 방법 6.1 매개변수 갱신 최적화 - 매개변수의 최적값을 찾는 문제를 푸는 것 기울어진 방향으로 매개변수의 값을 반복해서 갱신해 최적의 값에 다가감 class SGD: def __init__(self, lr=0.01): self.lr=lr def update(self, params, grads): for key in params.keys(): params[key]-= self.lr*grads[key] optimizer=SGD() optimizer.update(params, grads) Optimizer에 매개변수와 기울기 정보를 넘겨줌 비등방성 함수에서 탐색 경로가 비효율적 (지그재그로 이동) → 단점 개선) ..
[밑바닥부터 시작하는 딥러닝] 5장 오차역전파법 5.1 계산그래프 오차역전파법을 제대로 이해하는 방법 1. 수식을 통해 2. 계산 그래프를 통해 계산그래프 - 계산 과정을 그래프로 나타낸 것. 복수의 노드와 에지(노드 사이의 직선)로 표현 5.1.1 계산그래프로 풀다 문제2) 슈퍼에서 사과를 2개, 귤을 3개 샀습니다. 사과는 1개에 100원, 귤은 1개 150원입니다. 소비세가 10%일 때 지불금액을 구하세요. 1. 계산그래프를 구성한다. 2. 그래프에서 계산을 왼쪽에서 오른쪽으로 진행한다. 순전파 - 계산을 왼쪽에서 오른쪽으로 진행하는 단계 5.1.2 국소적 계산 국소적 - 자신과 직접 관계된 작은 범위 각 노드에서의 계산은 국소적 계산 자신과 관련한 계산(입력된 두 숫자의 덧셈) 외에는 신경쓰지 않음 5.1.3 왜 계산 그래프로 푸는가? 1. 국..
[밑바닥부터 시작하는 딥러닝] 4장 신경망 학습 4.1 데이터에서 학습하다! 학습 - 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것 신경망이 학습할 수 있게 해주는 지표 → 손실 함수 실제 신경망의 매개변수는 무수히 많음 → 수작업으로 결정 X 4.1.1 데이터 주도 학습 기계학습의 중심에는 데이터 존재 주어진 데이터를 활용해서 해결) 이미지에서 특징 추출, 특징의 패턴을 기계학습 기술로 학습 두번째 접근 방식- 특징을 사람이 설계 세번째 접근 방식- 특징도 '기계'가 스스로 학습 ※ 종단간(처음부터 끝까지) 기계학습 - 데이터에서 목표한 결과를 사람의 개입없이 얻음 4.1.2 훈련데이터와 시험데이터 훈련 데이터 / 시험 데이터 훈련 데이터만 사용하여 학습하며 최적의 매개변수를 찾음 시험 데이터를 사용하여 훈련한 모델의 실력을 평가..
[밑바닥부터 시작하는 딥러닝] 3장 신경망 입력층(0층), 은닉층(1층), 두번째 은닉층(2층), 출력층(3층) 활성화 함수 a = b + w1x1 + w2x2 y = h(a) 1단계. 가중치가 곱해진 입력 신호의 총합 계산 2단계. 합을 활성화 함수에 입력해 결과 도출 b - 편향 계단함수 입력이 0 넘으면 1 출력 그 외에는 0 출력 import numpy as np import matplotlib.pylab as plt def step_function(x): return np.array(x>0, dtype=int) x=np.arange(-5.0,5.0,0.1) y=step_function(x) plt.plot(x,y) plt.ylim(-0.1,1.1) plt.show() 시그모이드 함수 연속적인 실수 def sigmoid(x): return..
[밑바닥부터 시작하는 딥러닝] 2장 퍼셉트론 밑바닥부터 시작하는 딥러닝 CHAPTER 2. 퍼셉트론 퍼셉트론 (입출력을 가진 알고리즘) 다수의 신호를 입력으로 받아 하나의 신호를 출력 1 - 신호가 흐른다 / 0 - 신호가 흐르지 않는다 원 - 뉴런, 노드 입력신호 → 가중치(w1, w2) 곱해짐 → 뉴런 임계값을 넘어설 때 1 출력 베타 -> -b 편향 b - 뉴런이 얼마나 쉽게 활성화 하는지 조정하는 매개변수 (결과로 1 출력) 가중치 w1, w2 - 입력 신호가 결과에 주는 영향력(중요도)를 조절하는 매개변수 (책에서 문맥에 따라 셋 다 가중치라고 할 때도 있음) AND def AND(x1, x2): x = np.array([x1,x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(w*x) + b if..
스마트 출석부 구현 (Node.js) 온라인 출석 방법) 특정 숫자를 화면에 띄워주고 해당 숫자를 입력하면 출석이 완료됨. 해당 기능을 Node.js로 구현해보았다! 임의로 지정해준 숫자는 512이다. var express = require("express"); var app = express(); app.listen(3001, function () { console.log("listening on port 3001"); }); app.use(express.urlencoded()); app.get("/", function (req, res) { res.sendFile(__dirname + "/public/school.html"); }); app.post('/', function(req, res) { console.log(req.body); ..
★ 웹사이트 제작 (php) php를 이용해 나만의 웹사이트를 제작해보았다! 총 2달 정도 소요되었다. ​ 회원가입 로그인 & 로그아웃 회원정보수정 탈퇴 비밀번호찾기 글쓰기 글수정 글삭제 글목록(로그인 시에만 보이게) 글검색 글보기 페이징 비밀글 조회수(새로고침 해도 안올라가게) 댓글(쓰기,삭제,수정, 댓글 수 표시, 비밀 댓글,) 답글(쓰기,삭제,수정,비밀글) 좋아요 & 싫어요 모든 글에 파일 업로드 ​ 웹사이트에는 해당 기능들이 들어가있다. 관련 db제작, css 등 모든 걸 내 손으로 직접 찾아보고, 수정하고 제작한 웹사이트라서 더 의미있었던 프로젝트이다. (웹사이트를 제작한 서버가 삭제되어 현재 직접 확인할 수는 없지만 깃허브에 제작한 모든 파일들을 백업해놨다) ​ https://github.com/MY-yeong/Board..