MathJax.Hub.Config({   tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} }); kdy3138710 님의 블로그

전체 글 9

파이썬 기초 스터디 8주

딥러닝 고속화CPU 만으로는 딥러닝 처리하기에 부족함 / GPU를 활용해 대량의 연산을 고속으로 처리 ILSVRC(이미지 인식 기술) 대회에서 우승한 AlexNet의 forward 처리(순전파)에서 각 층이 소비하는 시간을 나타낸 그래프AlexNet의 forward 처리 시 오랜시간을 합성곱 계층에서 소요한다. GPU에서는 전체의 95%, CPU에서는 전체의 89%까지 차지한다.  GPU를 활용한 고속화 GPU의 고속의 병렬 수치 연산을 통해 범용 연산을 수행하는 것을 GPU 컴퓨팅이라고 한다.GPU 컴퓨팅과 CPU 컴퓨팅의 처리 속도를 비교한 그래프는 다음과 같다. 분산 학습GPU로 딥러닝 연산을 가속할 수 있지만, 심층 신경망에서는 며칠 혹은 몇 주가 걸리기도 한다. 그래서 더욱 고속화하고자 다수의 ..

카테고리 없음 2024.12.07

파이썬 기초 스터디 7주

CNN 구현하기 초기화 인수input_dim : 입력 데이터 (채널 수, 높이, 너비)conv_param : 합성곱 계층의 하이퍼파라미터(딕셔너리)filter_num - 필터 수filter_size - 필터 크기stride - 스트라이드pad - 패딩hidden_size - 은닉층(완전연결)의 뉴런 수output_size - 출력층(완전연결)의 뉴런 수weight_init_std - 초기화 때의 가중치 표준편차class SimpleConvNet: def __init__(self, input_dim=(1, 28, 28), conv_param={'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1}, hidden_size=100..

카테고리 없음 2024.11.29

파이썬 기초 스터디 6주

배치 정규화배치 정규화: 각 층이 활성화를 적당히 퍼뜨리도록 '강제'하는 아이디어에서 출발한 방법배치 정규화 알고리즘-학습을 빨리 진행할 수 있다.-초기값에 크게 의존하지 않는다.-오버피팅을 억제한다.배치 정규화는 학습 시 미니배치를 단위로 정규화한다. 데이터 분포가 평균이 0, 분산이 1이 되도록 정규화한다.미니배치 B={x₁, x₂, ... x_m}이라는 m개의 입력 데이터의 집합에 대해 평균과 분산 (σ_B)²을 구한다.그리고 입력 데이터를 평균이 0, 분산이 1인 데이터 {^x1, ^x2, ... , ^x_m}이 되게 정규화한다.ɛ(epsilon)은 작은 값(ex. 10e-7)으로, 0으로 나누는 사태를 예방한다. 미니배치 입력 데이터를 평균 0, 분산 1인 데이터로 변환하는 처리를 활성화 함수 ..

카테고리 없음 2024.11.22

칼럼

편미분편미분은 여러 변수에 의존하는 함수에서 한 변수에 대한 변화율을 계산할 때 사용한다.우리가 아는 일반적인 미분은 다음과 같다.​ 즉, 이런 미분을 통해, 함수의 입력값인 x가 변할때, f(x)가 어떻게 변하는지(특히 x가 아주 작게 조금 움직인다고 할 때 f(x)가 어떻게 변할려고 하는지)를 알아볼 수 있다. 변화를 살펴보는 직관적인 도구가 된다.   다양한 변수가 함수의 결괏값을 결정짓는 상황이 발생합니다. 이러한 함수를 다변수함수(multivariable function)라고 한다.  편미분(partiall differentiation)은 여러 독립적인 변수가 연계된 다변수함수에서 하나의 변수에 대해 미분하는 미분 방법을 말한다. 그리고 나머지 변수들은 변하지 않는 상수(constant) 취급을..

카테고리 없음 2024.11.20

파이썬 기초 스터디 5주

역전파덧셈 노드의 역전파z=x+y의 역전파를 구하기 위해 미분을 한다.∂z​/∂x=1, ∂z​/∂y=1계산 그래프로 그리면 다음과 같다.왼쪽이 순전파이고 오른쪽이 역전파이다.그림과 같이 역전파는 상류에서 전해진 미분에 1을 곱하여 하류로 흘린다. 즉, 덧셈 노드의 역전파는 1을 곱하기만 할 뿐이므로 입력된 값을 그대로 다음 노드로 보낸다.*상류: 특정 노드에서 그래디언트가 들어오는 경로 *하류: 특정 노드에서 그래디언트가 나가는 경로예시)10+5=15라는 식이 있고 상류에서 1.3이라는 값이 흘러나올 때의 계산 그래프로 그리면 다음과 같다.덧셈 노드 역전파는 입력 신호를 다음 노드로 출력할 뿐이기에 그림처럼 1.3을 다음 노드로 전달한다.곱셈 노드의 역전파z=xy의 역전파를 구하기 위해 미분을 한다.∂z..

카테고리 없음 2024.11.16

파이썬 기초 스터디 4주

수치 미분미분  위의 식을 통해 함수의 미분을 파이썬으로 구현한다.def numerical_diff(f, x): h = 1e-50 return (f(x + h) - f(x)) / h이 함수의 이름은 수치 미분에서 따온 numerical_diff(f, x)이다.*수치미분: 아주 작은 차분으로 미분하는 것, *차분: 임의의 두 점에서 함수 값들의 차이0이 아니지만 0에 근접하는 작은 값 1e-50을 h에 대입한다.하지만 이 코드에는 개선해야 할 점이 2가지가 있다. 1) 반올림 오차 h에 1e-50을 대입했다. 그러나 이 값은 반올림 오차 문제를 일으킨다. 반올림 오차는 작은 값(소수점 8자리 이하)이 생략되어 최종 계산 결과에 오차가 생기게 된다.>>> np.float32(1e-50)0.0*32비트 ..

카테고리 없음 2024.11.08

파이썬 기초 스터디 3주

신경망퍼셉트론에선 AND, OR 게이트의 진리표를 보면서 인간이 수동으로 적절한 가중치를 설정한다. 신경망에선 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습한다. 신경망의 예가장 왼쪽 줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라 한다. 은닉층의 뉴런은 다른층과는 달리 눈에 보이지 않는다. (그래서 '은닉'층이다.) 신경망은 퍼셉트론과 마찬가지로 3개의 층으로 구성되지만 가중치를 갖는 층이 2개이기에 '2층 신경망'이라고 한다. 퍼셉트론 복습 퍼셉트론을 수식으로 나타내면 다음과 같다.$$y= \begin{cases} 0 & \text{(b+w1x1+w2x2 } x \leq 0 \text{)} \\ 1 & \text{( b+w1x1+w2x2 }x > 0\text{)} \end{ca..

카테고리 없음 2024.11.02

파이썬 기초 스터디 2주

퍼센트론다층 퍼센트론이 출동한다면XOR 게이트는 기존 게이트를 이용해 조합NAND 게이트 출력부에 있는 O 기호는 출력을 반전한다는 뜻이다. 퍼셉트론의 한계가 "단층 퍼셉트론으로는 XOR 게이트를 표현할 수 없다." 또는 "단층 퍼셉트론으로는 비선형 영역을 분리할 수 없다."이므로 XOR 게이트를 만드는 방법은 퍼셉트론을 조합해서 구현할 수 있다. 그중 하나는 AND, NAND, OR 게이트를 조합한다. XOR 게이트 구현하기파이썬으로 XOR 게이트를 생성def XOR(x1, x2): s1 = NAND(x1, x2) s2 = OR(x1, x2) y = AND(s1, s2) return y 진리표를 통해 XOR의 결과확인XOR(0,0) # 0을 출력 XOR(1,0) # 1을 출력..

카테고리 없음 2024.10.12

파이썬 기초 스터디 1주

교재 파이썬이란?간단하고 배우기 쉬운 프로그래밍 언어. 오픈 소스라 무료로 자유롭게 이용할 수 있다. 파이썬은 과학 분야(기계학습, 데이터 과학 등등)에서 널리 쓰인다. 파이썬에 넘파이와 사이파이같은 수치 계산과 통계 처리를 다루는 라이브러리가 더해져 데이터 과학 분야에서 확고한 위치를 차지한다. 딥러닝 프레임워크 쪽에도 파이썬을 애용해 딥러닝을 할 때 도움이 된다.  파이썬 설치아나콘다파이썬의 버전은 2.x, 3.x 두 가지 버전이 공존한다. 파이썬3에서 만든 프로그램이 파이썬2에서 작동불가일 경우가 있음으로 파이썬3을 설치한다. 설치방법은 다양한데 그중 아나콘다는 데이터 분석에 중점을 둔 배포판이고, 넘파이와 matplotlob을 포함해 데이터 분석에 유용한 라이브러리가 포함되어 있어 상당히 유용하다..

카테고리 없음 2024.10.12