분류 전체보기 64

[Deep Learning] 3. 출력층의 소프트맥스 함수(Softmax), 항등 함수

출력층 설계 신경망의 출력층(Output Layer)에서 사용하는 활성화 함수는 현재 해결해야하는 문제가 무엇인지에 따라 달라집니다. 문제는 크게 분류(classification)와 회귀(regression)으로 나뉩니다. 분류는 데이터가 어느 범주, 클래스에 속하는지를 맞춰야하는 문제(ex : 10대 or 20대 or 30대 이상)고, 회귀는 수치를 예측해야하는 문제(ex : 182.1cm)입니다. 항등 함수 항등 함수(identity function)은 입력 신호를 그대로 출력합니다. 소프트맥스 함수 분류에서 사용하는 소프트맥스 함수(softmax function)의 식을 한번 보겠습니다. $y_k = \frac{e^{a_k}}{\sum_{i=1}^{n}e^{a_i}}$ $e^{x}$ 는 지수 함수,..

[Deep Learning] 2. 신경망, 활성화 함수(시그모이드 Sigmoid, 렐루 Relu)

퍼셉트론에서는 가중치 값 (예시에서 $w1, w2, b$) 를 직접 설정했습니다. 반면에 신경망(인공 신경망이라고도 부름)에서는 가중치 매개변수의 적절한 값을 데이터로부터 '학습'해서 정합니다. 신경망 신경망의 구조는 아래와 같습니다. Input Layer - Hidden Layer - Output Layer ( 입력층 - 은닉층 - 출력층 ) 앞서 봤던 퍼셉트론의 구조와 비슷합니다. 퍼셉트론을 다시 수식으로 한번 표현해보겠습니다. $y = \begin{pmatrix}0\;(b + w1x1 + w2x2 \leq 0 )\\1\;(b + w1x1 + w2x2 > 0)\end{pmatrix}$ (b는 편향 w1, w2는 가중치) 이때 함수 $h$ 를 $h(x) = \begin{pmatrix}0\;(x \leq..

티스토리에 Latex 수식 사용하기

전에 티스토리에 글을 쓸 때 Latex 수식을 못 써서 불편했는데 찾아보니 역시 방법이 있어서 기록해놓습니다. 방법은 아래의 코드 두 줄을 MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} }); 블로그 관리에 들어가 왼쪽의 스킨 편집 -> html 편집 태그 내부에 붙여넣으면 됩니다. 아무 곳에나 붙여 넣어도 된다고 하네요. 저는 가장 아래쪽에 넣고 저장했습니다. 아래 처럼 일반적인 Latex 수식을 써보고 적용이 잘 되는지 확인하겠습니다. $y = x$ $y = x$ $\frac{f(x+h)-f(x-h)}{2h}$ $\frac{f(x+h)-f(x-h)}{2h}$

기타 2021.07.24

[Deep Learning] 1. 퍼셉트론, Perceptron

퍼셉트론 퍼셉트론(perceptron) 알고리즘은 신경망(딥러닝)의 기원이 되는 알고리즘입니다. 퍼셉트론은 다수의 신호를 입력받고 하나의 신호를 출력하는 구조입니다. (적어도 하나의 output을 출력합니다.) 퍼셉트론은 신호가 흐른다 또는 흐르지 않는다. (각각 1과 0)의 두가지 값을 가집니다. 그림은 입력으로 2개의 신호를 받는 퍼셉트론입니다. x1, x2는 입력 신호, w1, w2는 가중치 y는 출력 신호입니다. 원은 뉴런 혹은 노드라고 부릅니다. 신호가 다음 노드로 보내질 때는 각각 고유한 가중치가 곱해집니다. 위의 예시에서는 y = w1x1 + w2x2로 나타낼 수 있으며 신호의 총합이 정해진 임계값을 넘으면 1을 출력합니다. 이때 임계값은 theta 또는 T로 주로 표시합니다. 퍼셉트론의 동..

한국전자통신연구원(ETRI) 2021년 하계 인턴(연구연수생) 합격

안녕하세요! 최근에 블로그 글을 못쓰고 있습니다. 다름이 아니라 한국전자통신연구원(ETRI)에서 7~8월 간 인턴으로 일을 하게 되어 시간이 너무 부족합니다 ㅎㅎ (주말은 스터디에 참여 해야해서 따로 쉴 시간이 없어요..) 자세히는 말씀 못 드리지만 저는 에트리에서 데이터 관련 직무를 수행하고 있습니다. 사실 지원서를 제출하고 나서도 계속 떨어질 거라면서 비관했는데 붙었네요. 에트리 같은 곳에서 일하는 것을 늘 꿈꿨기 때문에 매일 출근이 즐겁습니다. 두 달간은 글은 많이 못 올리겠지만.. 열심히 배우고 다시 돌아오겠습니다. 화이팅!

Me 2021.07.15

[Pytorch] 파이토치로 GAN(Generative Adversarial Net) 구현하고 MNIST 손글씨 이미지 생성하기

yunjey/pytorch-tutorial PyTorch Tutorial for Deep Learning Researchers. Contribute to yunjey/pytorch-tutorial development by creating an account on GitHub. github.com 네이버 최윤제님의 자료를 통해 공부하고 기록한 글입니다. 파이토치를 통해 GAN을 구현하고, MNIST 데이터 셋을 이용해 실습했습니다. Google Colab 을 사용했습니다. 라이브러리 불러오기 및 하이퍼파라미터 설정 import torch import torch.nn as nn import torch.optim as optim import torchvision.utils as utils import tor..

[MySQL] INSERT, SELECT, UPDATE, DELETE 정리

전 포스팅에서 데이터베이스의 생성부터 테이블의 생성까지 다뤘습니다. 이번에는 데이터의 삽입(INSERT), 선택(SELECT), 수정(UPDATE), 삭제(DELETE)를 정리해보겠습니다. 데이터 삽입(INSERT) 테이블에 데이터를 삽입(추가) 하기 위해서는 INSERT INTO table_name (column name1, ... ,column nameN) VALUES('value1, ... , VALUE N); 형식을 사용합니다. 예시를 보겠습니다. 먼저, 테이블의 구조를 먼저 살피겠습니다. id, title, description, created, author, profile 이라는 column이 있고 각 데이터의 Type이 표시돼있습니다. INSERT INTO njh => njh라는 테이블에 데..

[MySQL] 데이터베이스 생성, 삭제, 사용 및 테이블 생성

MySQL을 사용해 데이터베이스의 생성, 삭제, 사용 그리고 테이블의 생성까지 해보겠습니다. 데이터베이스 생성 가장 먼저 알아볼 내용은 데이터베이스의 생성입니다. CREATE DATABASE db_name; 를 입력하면 db_name이라는 이름으로 데이터베이스가 생성됩니다. 데이터베이스 삭제 데이터베이스의 생성을 알았으니 삭제 또한 바로 알아보겠습니다. CREATE DROP db_name; 를 입력하면 db_name이라는 이름의 데이터베이스를 삭제할 수 있습니다. 저는 tutorials라는 이름의 데이터베이스를 생성하고 삭제해보겠습니다. (만약 tutorials라는 데이터베이스가 있는데 CREATE DATABASE tutorials;를 입력 시 에러가 나고 반대로 없는 데이터베이스를 DROP DATABA..

[MySQL] 윈도우 환경에서 Bitnami를 활용해 MySQL 설치하기

윈도우(Windows)환경에서 비트나미(Bitnami)라는 소프트웨어의 설치를 도와주는 라이브러리를 활용해 MySQL을 설치해보겠습니다. 설치하기 검색 엔진에서 bitnami를 검색해주시고, Wamp라는 페이지로 이동합니다. Wamp는 윈도우에서 Apache, MySQL, PHP의 설치를 도와주는 프로그램입니다. 홈페이지에서 다운로드 버튼을 누르면 회원가입을 하라는 문구가 나올 텐데 가장 아래의 No thanks 부분을 눌러주시면 설치 파일의 다운로드가 시작됩니다. 설치 파일의 다운로드가 끝났으면 실행해줍니다. 아래의 순서대로 계속 진행해줍니다. MySQL이 어디에 설치되는지 설치 경로를 확인해주시기 바랍니다 ! MySQL은 다중 사용자 시스템으로 여러 사용자가 사용할 수 있습니다. 첫 번째 기본 사용자..

[파이썬] 클래스 상속, 메서드 오버라이딩 (예시를 통한 설명)

전 포스팅에서 파이썬의 클래스(class)를 알아봤습니다! 이번에는 클래스의 상속(inheritance)과, 메서드 오버라이딩(method overriding)에 대해 정리해보겠습니다. 상속(inheritance) 클래스 간에도 상속의 개념을 사용합니다. 상속은 흔히 알고있는 뜻과 같습니다. (무언가를 물려받는) 어떤 클래스를 정의할 때 이미 정의된 다른 클래스의 속성을 물려받는 절차를 말합니다. 이때 속성을 물려주는 클래스를 슈퍼 클래스(super class) ('부모 클래스'라고도 부릅니다.) 속성을 상속하는 클래스를 서브 클래스(sub class) ('자식 클래스'라고도 부릅니다.) 라고 합니다. 상속을 받는 방법은 간단합니다. 아래의 예시처럼, 서브 클래스를 선언할 때 ()안에 슈퍼 클래스를 포함..

파이썬 Python 2021.06.22