Skip to content

Commit

Permalink
Update from 9cdb7f9
Browse files Browse the repository at this point in the history
  • Loading branch information
Choiuijin1125 committed Apr 1, 2019
1 parent 9cdb7f9 commit 09ecc41
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 71 deletions.
13 changes: 6 additions & 7 deletions site/ko/tutorials/eager/automatic_differentiation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"id": "xh8WkEwWpnm7"
},
"source": [
"# 자동미분(Automatic differentiation) 과 그래디언트 테이프"
"# 자동미분(Automatic Differentiation)과 그래디언트 테이프(Gradient Tape)"
]
},
{
Expand Down Expand Up @@ -71,7 +71,7 @@
"id": "vDJ4XzMqodTy"
},
"source": [
"이전 튜토리얼에서 우리는 Tensor와 Tensor의 연산들에 대해서 알아보았습니다. 이번 튜토리얼에서는 머신러닝 모델을 최적화할 수 있는 주요 기술인 [자동미분(automatic differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)에 대해 알아보겠습니다."
"이전 튜토리얼에서 우리는 Tensor와 Tensor의 연산들에 대해서 알아보았습니다. 이번 튜토리얼에서는 머신러닝 모델을 최적화할 수 있는 주요 기술 중 하나인 [자동미분(automatic differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)에 대해 알아보겠습니다."
]
},
{
Expand Down Expand Up @@ -108,7 +108,7 @@
"source": [
"## 그래디언트 테이프(Gradient Tape)\n",
"\n",
"텐서플로우는 자동미분(주어진 입력 변수에 따른 기울기 연산)을 위한 [tf.GradientTape](https://www.tensorflow.org/api_docs/python/tf/GradientTape) API를 제공합니다. `tf.GradientTape`는 안에서 실행된 모든 연산을 tape에 \"기록\"합니다. 그리고 [역방향 미분(reverse mode differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)을 사용하여 기록된 연산의 그래디언트를 계산하기 위해 각각의 기록된 연산들과 관련된 테이프와 그래디언트들을 사용합니다. \n",
"텐서플로우는 자동미분(주어진 입력 변수에 따른 그래디언트 연산)을 위한 [tf.GradientTape](https://www.tensorflow.org/api_docs/python/tf/GradientTape) API를 제공합니다. `tf.GradientTape`는 안에서 실행된 모든 연산을 tape에 \"기록\"합니다. 그리고 [역방향 미분(reverse mode differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)을 사용하여 각각의 기록된 연산들과 관련된 테이프와 그래디언트들을 사용하여 기록된 연산의 그래디언트를 계산합니다. \n",
"\n",
"예를 들면:"
]
Expand Down Expand Up @@ -165,7 +165,6 @@
" z = tf.multiply(y, y)\n",
"\n",
"# 중간값 y에 관한 z의 도함수 계산을 위한 테이프 사용\n",
"# intermediate value y.\n",
"dz_dy = t.gradient(z, y)\n",
"assert dz_dy.numpy() == 8.0"
]
Expand Down Expand Up @@ -209,7 +208,7 @@
"source": [
"### 제어흐름(Control Flow) 기록\n",
"\n",
"테이프가 실행되는데로 연산을 기록하기 때문에, 파이썬 제어흐름(예를 들어 `if` `while`, `for`문 같은)은 자연스럽게 처리됩니다. "
"테이프를 실행하는 순간부터 연산을 기록하기 때문에, 파이썬 제어흐름(예를 들어 `if` `while`, `for`문 같은)은 자연스럽게 처리됩니다. "
]
},
{
Expand Down Expand Up @@ -287,7 +286,7 @@
"source": [
"## 다음 단계\n",
"\n",
"이번 튜토리얼에서는 텐서플로우에서 그래디언트 계산법을 배웠습니다. 이를 통해 우리는 신경망을 구축하고 훈련시키는 데 필요한 기본 요소를 충분히 확보 할 수 있습니다."
"이번 튜토리얼에서는 텐서플로우에서 그래디언트 계산법을 배웠습니다. 이를 통해 우리는 신경망을 구축하고 훈련시키는 데 필요한 기본 요소를 충분히 확보할 수 있습니다."
]
}
],
Expand Down Expand Up @@ -315,7 +314,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
20 changes: 10 additions & 10 deletions site/ko/tutorials/eager/custom_layers.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
"\n",
"많은 머신러닝 모델은 비교적 단순한 레이어의 구성과 적층(stacking)으로 표현가능합니다. 또한 텐서플로우는 여러 표준 레이어 세트를 제공하므로 사용자 고유의 응용 프로그램에 관련된 레이어를 처음부터 작성하거나, 기존 레이어의 구성으로 쉽게 작성할 수 있습니다.\n",
"\n",
"텐서플로우는 [Keras](https://keras.io) API 의 풀페키지를 tf.keras package에 포함하고 있습니다. Keras 레이어는 모델을 구축하는데 매우 유용합니다."
"텐서플로우는 [Keras](https://keras.io) API 의 풀패키지를 tf.keras package에 포함하고 있습니다. Keras 레이어는 모델을 구축하는데 매우 유용합니다."
]
},
{
Expand Down Expand Up @@ -186,11 +186,11 @@
"source": [
"## 사용자 정의 레이어 구현\n",
"사용자 정의 레이어를 구현하는 가장 좋은 방법은 tf.keras.Layer 클래스를 상속하고 다음과 같이 구현하는 것입니다.\n",
" * `__init__` , 여기서 모든 입력 독립적인 초기화를 할 수 있습니다.\n",
" * `build`, 입력 텐서의 형태를 알고 나머지를 초기화 할 수 있습니다.\n",
" * `__init__` , 모든 독립적인 입력값을 초기화를 할 수 있습니다.\n",
" * `build`, 입력 Tensor의 형태를 알고 나머지를 초기화 할 수 있습니다.\n",
" * `call`, 정방향 계산을 진행 할 수 있습니다.\n",
"\n",
"변수를 생성하기 위해 `build`가 호출되길 기다릴 필요가 없다는 것에 주목하세요. 또한 변수를 `__init__`에 생성할 수도있습니다. 그러나 `build`에 변수를 생성하는 유리한 점은 레이어가 작동할 입력의 형태를 기준으로 나중에 변수를 만들 수 있습니다. 반면에, `__init__`에 변수를 생성하는것은 변수 생성에 필요한 형태가 명시적으로 지정되어야 함을 의미합니다.변수를 생성하는 데 필요한 모양이 명시적으로 지정되어야 함을 의미합니다."
"변수를 생성하기 위해 `build`가 호출되길 기다릴 필요가 없다는 것에 주목하세요. 또한 변수를 `__init__`에 생성할 수도있습니다. 그러나 `build`에 변수를 생성하는 유리한 점은 레이어가 작동할 입력의 형태를 기준으로 나중에 변수를 만들 수 있습니다. 반면에, `__init__`에 변수를 생성하는것은 변수 생성에 필요한 형태가 명시적으로 지정되어야 함을 의미합니다."
]
},
{
Expand Down Expand Up @@ -230,7 +230,7 @@
"source": [
"변수를 생성하기 위해 `build`가 호출되길 기다릴 필요가 없다는 것에 주목하세요. 또한 변수를 `__init__`에 생성할 수도있습니다. \n",
"\n",
"다른 독자가 표준 레이어의 동작을 잘 알고 있기 때문에, 가능한 경우 표준 레이어를 사용하는것이 전체 코드를 읽고 유지하는데 더 쉽습니다. 만약 tf.keras.layers, tf.keras.layers 또는 tf.contrib.layers에 없는 레이어를 사용하기 원하면 [github issue](http://github.com/tensorflow/tensorflow/issues/new)에 이슈화하거나, 풀리퀘스트를 요청하세요."
"다른 독자가 표준 레이어의 동작을 잘 알고 있기 때문에, 가능한 경우 표준 레이어를 사용하는것이 전체 코드를 읽고 유지하는데 더 쉽습니다. 만약 tf.keras.layers 또는 tf.contrib.layers에 없는 레이어를 사용하기 원하면 [github issue](http://github.com/tensorflow/tensorflow/issues/new)에 이슈화하거나, 풀리퀘스트를 요청하세요."
]
},
{
Expand All @@ -242,9 +242,9 @@
"source": [
"## 모델: 레이어 구성\n",
"\n",
"머신러닝 모델에서 많은 흥미로운 유사 레이어(layer-likely)는 레이어들의 집합으로 구현되어집니다. 예를 들어, 레스넷(resnet)의 각 residual block은 합성곱(convolution), 배치정규화(batch normalization), 쇼트컷(shortcut) 등으로 구성되어있습니다. \n",
"머신러닝 모델에서 대부분의 흥미로운 유사 레이어(layer-likely)는 레이어들의 집합으로 구현되어집니다. 예를 들어, 레스넷(resnet)의 각 잔여블록(residual block)은 합성곱(convolution), 배치정규화(batch normalization), 쇼트컷(shortcut) 등으로 구성되어있습니다. \n",
"\n",
"레이어 집합을 포함한 유사 레이어를 생성하기위해 사용하는 메인 클래스는 tf.keras.Model입니다. 다음은 tf.keras.Model을 상속(Inheritance)하여 구현합니다."
"레이어 집합을 포함한 유사 레이어를 생성하기위해 사용하는 메인 클래스는 tf.keras.Model입니다. 다음은 tf.keras.Model을 상속(inheritance)하여 구현합니다."
]
},
{
Expand Down Expand Up @@ -313,15 +313,15 @@
]
},
{
"cell_type": "raw",
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "c5YwYcnuK-wc"
},
"source": [
"# 다음 단계\n",
"\n",
"이제 여러분들은 이전 노트북으로 돌아가서 선형 회귀 예제에 레이어와 모델을 적용하여 좀 더 나은 구조를 만들 수 있습니다."
"이제 여러분들은 이전 노트북으로 돌아가서 선형 회귀 예제에 좀 더 나은 구조를 만들기 위해 레이어와 모델을 적용할 수 있습니다."
]
}
],
Expand Down Expand Up @@ -349,7 +349,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
12 changes: 6 additions & 6 deletions site/ko/tutorials/eager/custom_training.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"id": "hrXv0rU9sIma"
},
"source": [
"# 사용자 지정 학습: 기초"
"# 사용자 정의 학습: 기초"
]
},
{
Expand Down Expand Up @@ -200,7 +200,7 @@
"3. 훈련 데이터 가져오기\n",
"4. 훈련 데이터를 통한 실행, 데이터에 최적화하기 위한 \"옵티마이저(optimizer)\" 사용한 변수 조정\n",
"\n",
"이번 튜토리얼에서는 선형모델의 간단한 예제를 살펴보겠습니다. `f(x) = x * W + b`, `W` and `b` 두 변수를 가지고 있는 선형모델입니다. 더욱이 잘 학습된 모델이 `W = 3.0` and `b = 2.0`의 값을 갖도록 데이터를 합성할 것입니다."
"이번 튜토리얼에서는 선형모델의 간단한 예제를 살펴보겠습니다. `f(x) = x * W + b`, 위 모델은 `W` `b` 두 변수를 가지고 있는 선형모델이며, 잘 학습된 모델이 `W = 3.0` and `b = 2.0`의 값을 갖도록 데이터를 합성할 것입니다."
]
},
{
Expand Down Expand Up @@ -249,7 +249,7 @@
"source": [
"### 손실 함수 정의\n",
"\n",
"손실 함수는 주어진 입력에 대한 모델의 출력이 원하는 출력과 얼마나 잘 일치하는지 측정합니다. L2 규제항(regularization)을 적용한 손실 함수를 사용하겠습니다."
"손실 함수는 주어진 입력에 대한 모델의 출력이 원하는 출력과 얼마나 잘 일치하는지를 측정합니다. L2 규제항(regularization)을 적용한 손실 함수를 사용하겠습니다."
]
},
{
Expand Down Expand Up @@ -354,7 +354,7 @@
"source": [
"### 훈련 루프 정의\n",
"\n",
"현재 우리는 네트워크와 훈련 데이터를 가지고 있습니다. 모델의 변수(`W` 와 `b`)를 업데이트하기 위해 훈련 데이터를 사용하여 훈련시킵니다. 그리고 [gradient descent](https://en.wikipedia.org/wiki/Gradient_descent)를 사용하여 손실을 감소시킵니다. 경사하강에는 여러가지 방법이 있으며, `tf.train.Optimizer` 에 구현되어있습니다. 이러한 구현을 사용하는것을 강력히 추천드립니다. 그러나 이번 튜토리얼에서는 기본적인 방법을 사용하겠습니다."
"현재 우리는 네트워크와 훈련 데이터를 가지고 있습니다. 모델의 변수(`W` 와 `b`)를 업데이트하기 위해 훈련 데이터를 사용하여 훈련시킵니다. 그리고 [경사하강(gradient descent)](https://en.wikipedia.org/wiki/Gradient_descent)를 사용하여 손실을 감소시킵니다. 경사하강에는 여러가지 방법이 있으며, `tf.train.Optimizer` 에 구현되어있습니다. 이러한 구현을 사용하는것을 강력히 추천드립니다. 그러나 이번 튜토리얼에서는 기본적인 방법을 사용하겠습니다."
]
},
{
Expand Down Expand Up @@ -397,7 +397,7 @@
"source": [
"model = Model()\n",
"\n",
"# Collect the history of W-values and b-values to plot later\n",
"# 도식화를 위해 W값과 b값들의 변화를 저장합니다.\n",
"Ws, bs = [], []\n",
"epochs = range(10)\n",
"for epoch in epochs:\n",
Expand Down Expand Up @@ -458,7 +458,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit 09ecc41

Please sign in to comment.