반응형

머신러닝,딥러닝/tensorflow 15

lec12 NN의 꽃 RNN 이야기

sequence data we dont understand one word only. we understand based on previous words and this word but NN CNN cannot do this 그래서 이전의 계산이 영향을 미치는 구조를 고민 실제로는 이렇게 구현했다고 보면 된다 이전의 연산이 영향을 미친다 Recurrent Neural Network 계산 어떻게 해? state H 를 계산하기 위해 old state , x input vector 을 function에 넣는다 여기서 사람들이 이렇게 하나의 그림으로 표현하는 이유는 function이 동일하기 때문이다. 가장 기초적인 연산 방법은 wx 을 이용해서 구현하는 것 w *h + w x 각각의 weight을 곱하고 더..

lec11 CNN basics tensorflow

conv 5*5 -> subsampling 2*2 feature extraction 과정임 마지막으로 classification CNN이 ct image 분석 수상했던 결과 주어진 이미지 데이터 움직이고 여러개의 값 나온걸 pooling 한다 간단한 이미지를 우선 생각해보자 2*2*1 필터 stride 1 이런 과정 거치면 2*2 결과가 나온다. 텐서플로에서는 알아서 나온다. 우선 토이 이미지를 만듬 앞의 값은 n = 1 하나의 이미지 3 * 3 시각화 weight 정할 때 필터 크기 2 *2 * 1 * 1 앞 1은 color 뒤 1 은 필터 그리고 첫번째 필터부터 다 더한 값 number로 저장 텐서플로로 어떻게 구현하냐? 이렇게 시각화 하기 위해서 출력 그럼 12 16 24 28이 나온다. 3*3 으..

lec11 ConvNet 의 conv 레이어 만들기

convoutional network 고양이 실험에서 착안 뉴런이 작용하는 거 각각 담당하는게 있어 보임 각 이미지를 레이어 만들어냄 relu pool 을 계속 겹쳐 만듬 한 레이어로부터 단계적으로 어떻게 일어나는지 이야기해보도록 하겠음 이미ㅈ를 우선 이렇게 벽이 만들어짐 고양이 실현에서 우선 이미지 한 부분을 처리하려고 한다. 이 작은 블락을 필터라고 한다. 필터 크기는 우리가 정의할 수 있다. 현재는 5*5 저 빨간 블락은 궁극적으로 한 값을 만들어낸다. 한개의 값으로 어떻게 만들어낼 수 있는가? 우리가 예전부터 사용했던 wx + b를 이용해서 만든다 w가 뭐냐? weight 지 하나의 숫자로 만들어낸다. relu로 하면 relu한거 똑같은 필터를 가지고 다른 블락도 본다. 같은 값으로 모든 블락을 ..

lec10 xsigmoid 보다 ReLU가 더 좋아

activation function이라고 부른다. 어떤 값 이상일 때 activate하기 때문에 NN for XOR 이렇게 순차적으로 읽게 했었다. lets go deep & wide 그림으로 그리면 이렇게 나오죠 (오른쪽 박스 세개) input ------- > output layer 안은 hidden layer이라고 한다. 입력 아웃풋에서는 보이지 않으므로 9단으로 해볼까? 2->5 이렇게 시작하는데 꼭 5개여야 하는거 아닌거 알지? 텐서보드로 하면 잘 나온다. 엥 0.5가 나온다. 이 문제가 바로 tensorboard cost & accruacy 왜 이 문제가 발생할까? backpropagation 2~3단 정도에서는 오케이지만 우리가 9~10단이면 못 해결한다. 저번에 배웠던 backpropaga..

lec09 XOR 문제 딥러닝으로 풀기

우선 0 0 을 넣었다. 주어진 weight 5 5 와 bias 8 로 계산해보자. 첫번쨰 보라색은 계산 시 -8이 된다. sigmoid(-8) 해보면 대략 0이 된다. 두번째 그린색 -7 -7에 입력시 0+ 3이니까 3이 된다. sigmoid(3) 하면 1 이 된다. y값 0 1 을 집어 넣으면 -11 -11 -11 + 6 = -5 위 결과로 나온다. 다음으로는 x값이 각각 0 1 인 경우. 계산해보면 + 6 또 다음으로 1 0 계속 계산하면 나온다. 결국 XOR 값이 나오게 되는 것 그림으로 간략하게 표현하면 이렇게 되겠지 이 때 can you find another w and b for the XOR ? weight은 이차원 배열이 되고 bias는 두개 늘어진다. 이해를 돕기 위해 코드도 제시 ho..

lec08 tensor manipulation(reshape, stack, zip, one_hot ..)

tensor manipulation 1차원 array t = np.array([0,1,2,]) pp.print(t) print(t.ndim) print(t.shape) 2차원 array pp.print(t) print(t.ndim) print(t.shape) shape rank axis t = tf.constant(1,2,3,4) tf.shape(t).eval() rank 1 4 t = tf.const 1,2 3, 4 tf.shape(t).eval() rank 2 2, 2 t = tf.constant ( ~~) [[[[-> rank : 4 shape ( ? ? ? ?) 4, 3, 2, 1, 순서대로 채워넣는다 axis = 0 가장 바깥 [] axis = -1 가장 안쪽 [] or 이 경우 axis = 3..

lec08 deep neural network for everyone

궁극적 꿈은 생각하는 기계를 만들자였겠지? 그러다 보니 뇌를 공부하게 됨 복잡하게 연결되어 있고 뉴런이라는 유닛이 단순 동작하는데도 어떻게 이렇게 복잡한 기능을 하게 된 것일까? weight * x ===> sum ===> bias라는 항목 더해지고 ===> 다 모여있는 값이 역치 이상이면 활성화 or not 그래서 처음 모델 activation functions 이 기계를 하드웨어로 만든게 위 기계들 선을 다 꼬아서 만들고 -> 각 weight 다이얼 돌려서 바꿔가면서 출력하게 했다. 많은 관심을 끌자 호황된 약속을 하게 됐다. 58년 기사를 보면 the navy revelaed elctronic computer that it expects to walk talk see write and reprodu..

lec07 learning rate, data preprocessing overfitting

cost function 값을 최소화하기 위해서 썼던 gradient descent 이때 0.001 정도의 learning rate 알파 값을 적용했었다. 만약 large learning rate 라면? ==> overshooting 발생 그리고 만약 small learning rate라면? ==> takes too long and stops at local minimum 그래서 try several learning rate observe the cost function 0.01 -> 0.001 or 0.1 이렇게 (andrew ng 는 3배 단위로 크고 작게 하라 했었음) data(x) preprocessing for gradient descent 예를 들어서 data(x) preprocessing f..

lec06 multinominal 개념 소개

multinominal 개념 소개 logistic regression 은 세모와 네모를 나누는 게 중요 multinominal classification 에도 그대로 적용한다. 이렇게 되면 세개의 독립된 classify 가 나오게 된다. a or not, b or not , c or not 이걸 하나로 합침 matrix multiplication 연산을 그대로 적용하게 되면 위와 같은 형태의 다중 매트릭스가 나온다. 이건 결국 h(x)의 값이자 y hat a 값, b, c 각각 나온다. 이제부터 세개를 합친 이 걸 sgimoid 값으로 만들고 싶다. 현재 20 1.0 0.1 로 표현돼서 a인걸 판별 한 예 요걸 sigmoid 넣어서 0.7 0.2 0.1 값으로 나오면 좋겠다. 1. 0~1 값 2. sum..

lec05 logistic (regression) classification

regression (HCG) hypothesis cost gradient decent cost 얼마나 가설과 차이간 나는지 그리고 평균 낸다. 학습이란 cost 최소화하는 weight을 찾아내는 거죠 그래서 그려본 결과 경사진 모양이 나와서 가장 아래 부분을 찾기 위해 즉 가장 cost가 낮은 지점을 찾기 위해 gradient decent 라는 미분 식을 사용한다. classification spam detection : spam or ham facebook feed : show or hide credit card fraudulent transaction detection : legitimate / fraud 0, 1 encoding spam detection : spam(1) or ham(0) fac..

반응형