본문 바로가기

기초8

[딥러닝 기초] 합성곱 신경망(CNN) - 1 안녕하세요 :) 오늘은 신경망의 여러가지 종류 중 합성곱 신경망(Convolutional Neural Network, CNN)에 대해서 이야기해보겠습니다. 합성곱 신경망(CNN) 합성곱 신경망은 기존에 배운 신경망과는 다르게 은닉층이 여러개의 합성곱(convolution)층과 풀링(pooling)층으로 이루어져 있습니다. 합성곱층에서는 이미지 데이터에 비교하는 패턴과 일치하는 부분이 얼마나 포함되어 있는지 확인합니다. 원하는 패턴이 많이 포함되어 있으면 정보를 적극적으로 다음 층으로 전달합니다. 전달하는 정보는 합성곱층의 유닛에 기록합니다. 풀링층에서는 합성곱층의 활동 정보를 묶어서 정리합니다. 기존의 신경망과 다른 합성곱 신경망의 장점은 다음과 같습니다. 복잡한 패턴인식 문제도 간결한 신경망으로 해결할.. 2020. 7. 11.
[Python 기초] 기본 자료형 : 집합 (set) 이번에는 파이썬의 기본 자료형 중, 집합(set)에 대해 알아보겠습니다. 집합(set) 집합 자료형은 집합과 관련된 연산을 처리하기 위해 파이썬 2.3부터 지원하기 시작한 기본 자료형입니다. 집합 자료형은 set 키워드를 사용해서 생성이 가능합니다. >>> s1 = set([1, 2, 3]) # {1, 2, 3} >>> s2 = set('Hello') # {'H', 'e', 'l', 'o'} >>> s3 = set() 아무런 파라미터 없이 set()만으로 빈 집합을 생성할 수 있습니다. 집합 자료형의 특징은 다음과 같습니다. 원소의 중복을 허용하지 않습니다. 원소의 순서가 없습니다. (unordered) 순서가 없다는 두번째 특징 때문에 집합 자료형에서는 인덱스로 값을 접근할 수 없습니다. 인덱스로 접근.. 2020. 7. 10.
[딥러닝 기초] 신경망과 학습 안녕하세요 :) 오늘은 여태까지 배운 지식들을 기반으로 신경망과 신경망 학습에 대한 이야기를 해볼까 합니다! 1. 신경망 신경망의 파라미터와 변수 파라미터(parameter)는 신경망의 수학적 모델을 정하는데 필요한 상수입니다. 이전에 대분 가중치(weight)와 편향(bias)을 파라미터라고 부릅니다. 파라미터를 제외하고, 신경망의 입력으로 주어지는 데이터 값에 따라서 변하는 변수가 필요합니다. 그러므로, 신경망에서는 데이터를 저장하는 변수 모델을 결정하는 파라미터 로 구성됩니다. 이해하기 쉽게 단순회귀분석을 예시로 들어보겠습니다. y = px + q 라는 회귀방정식을 살펴보면, 절편(q)과 회귀계수(p)는 파라미터에 해당하고, 독립변수(x), 종속변수(y)는 변수에 해당합니다. 파라미터와 변수의 이름.. 2020. 7. 9.
[딥러닝 기초] 경사하강법과 회귀분석 안녕하세요 :) 오늘은 딥러닝의 기초 개념 중 하나인 경사하강법과 회귀분석에 대해서 간단하게 다뤄보겠습니다. 1. 경사하강법 (Gradient descent) 신경망에서는 z = f(x, y)를 최소화하는 x, y 값을 구하는 것이 목표입니다. 이러한 목표를 달성하기 위한 방법 중 하나가 바로 경사하강법(Gradient descent)입니다. 경사하강법은 그래프 상의 점을 조금씩 움직여서 함수의 최소 값을 구하는 방식입니다. 점을 조금씩 움직일 때, 가장 가파른 방향으로 이동하게 됩니다. 이러한 방법을 수치해석에서는 최급하강법(method of steepest descent)라고 합니다. 앞서 배운 내적을 이용한 근사식 표현으로 돌아가 보겠습니다. z = f(x, y)에서 x, y를 △x, △y 만큼 변.. 2020. 7. 9.
[딥러닝 기초] 딥러닝 수학 - 2 : 행렬, 미분 안녕하세요 :) 오늘은 저번 게시물(딥러닝 수학-1)에 이어서 조금 더 구체적인 수학적인 내용을 다뤄보겠습니다. 크게 형렬, 미분에 대해서 배워보겠습니다. 1. 행렬 (matrix) 행렬은 수와 식을 사각 형태의 배열로 나열한 것을 의미합니다. 거로 줄을 행, 세로 줄을 열이라고 부릅니다. 이때, 행의 수와 열의 수가 같은 경우 정사각 행렬(square matrix)라고 부릅니다. 또한, 행렬 중, 하나의 열로 구성된 행렬을 열 벡터, 하나의 행으로 구성된 행렬을 행 벡터라고 부릅니다. 행렬의 원소 중, i행 j열에 위치한 성분은 aij로 표시합니다. 그중, i = j 인 경우 aij 가 1이고, 나머지의 경우 모두 0인 경우를 단위행렬(E)라고 합니다. 행렬의 연산 행렬의 상등 두 행렬에서 대응하는 각.. 2020. 7. 6.
[딥러닝 기초] 신경망과 딥러닝 개요 안녕하세요 :) 오늘은 신경망 기반의 딥러닝에 대한 기본적인 이야기를 해보려고 합니다. 주어진 데이터를 스스로 학습이 가능하다는 점이 신경망 기반의 딥러닝의 장점이라고 할 수 있는데요. 신경망을 설명하려면 뉴런에 대해서 먼저 간단하게 이해해야 합니다. 뉴런 (neuron) 뉴런의 기본적인 특징을 먼저 살펴보겠습니다. 다수의 뉴런들로 네트워크를 구성합니다. 입력된 값의 합이 임계값을 넘지 않으면 해당 뉴런은 반응하지 않습니다. 입력된 값의 합이 임계값을 넘으면, 다른 뉴런에 일정 강도의 신호를 전달합니다. 여러 뉴런에서 전달되는 신호의 합은 가중치가 각각 다릅니다. 쉽게 말하면, 서로 다른 뉴런으로부터 신호를 받아 가중치에 따라 입력된 값이 임계값을 넘는 경우 연결된 또 다른 뉴런들에게 전달되는 구조입니다.. 2020. 6. 29.
[Python 기초] 기본 자료형 : 튜플 (tuple) 이번에는 파이썬의 기본 자료형 중 튜플(tuple)에 대해서 알아보겠습니다. 튜플 (tuple) 튜플은 다양한 값을 함께 저장하는 것은 리스트(리스트에 대한 게시물을 조회하시려면 여길 누르세요)와 유사합니다. 하지만, 리스트와는 다른 2가지의 특징이 있습니다. 중괄호를 쓰는 리스트와는 달리, 튜플은 소괄호 "()"를 사용합니다. 값의 생성, 삭제, 수정이 불가능합니다. 그러므로, 값이 변하지 않기를 바라는 경우 사용합니다. 튜플의 생성은 다음과 같이 합니다. >>> t = () >>> t1 = (1, ) >>> t2 = (1, 2, 3) 여기서 주의하셔야 할 점은, 원소가 1개인 튜플을 생성하는 경우 콤마(,)를 꼭 함께 사용해야 한다는 것입니다. 콤마를 사용하지 않는 경우, 튜플이 아닌, 원소 그 자체.. 2020. 6. 25.
[Python 기초] 기본 자료형 : 숫자형(number), 문자열(string) 파이썬의 기본 자료형에 대해서 알아보겠습니다! 숫자형 (Number) 1. 정수형 (Integer) 말 그대로 정수 자료형이 있습니다. 양의 정수, 음의 정수, 0을 사용할 수 있습니다. >>> a = 200 >>> b = -200 >>> c = 0 2. 실수형 (Floating point) 실수 자료형이 있습니다. 실수 자료형을 표현하는 데 있어서 두 가지 방식이 있습니다. 첫 번째로는 우리가 일반적으로 사용하는 소수점 표현 방식입니다. >>> a = 20.1234 >>> b = -20.1234 두 번째로는 컴퓨터식 지수 표현 방식입니다. 예를 들어, 1.23E10 은 1.23 * 10^10과 동일한 값을 나타냅니다. >>> a = 1.23E10 >>> b = 1.23E-10 3. 8진수 / 16진수 .. 2020. 6. 22.