Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[KO] Translations #726

Merged
merged 5 commits into from Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@
"source": [
"<table class=\"tfo-notebook-buttons\" align=\"left\">\n",
" <td><a target=\"_blank\" href=\"https://www.tensorflow.org/federated/tutorials/building_your_own_federated_learning_algorithm\"><img src=\"https://www.tensorflow.org/images/tf_logo_32px.png\">TensorFlow.org에서 보기</a></td>\n",
" <td> <a target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/docs-l10n/blob/master/site/ko/federated/tutorials/building_your_own_federated_learning_algorithm.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\">Google Colab에서 실행하기</a>\n",
" <td> <a target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/docs-l10n/blob/master/site/ko/federated/tutorials/building_your_own_federated_learning_algorithm.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\">Google Colab에서 실행</a>\n",
"</td>\n",
" <td> <a target=\"_blank\" href=\"https://github.com/tensorflow/docs-l10n/blob/master/site/ko/federated/tutorials/building_your_own_federated_learning_algorithm.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\">GitHub에서 소스 보기</a>\n",
"</td>\n",
" <td><a target=\"_blank\" href=\"https://github.com/tensorflow/docs-l10n/blob/master/site/ko/federated/tutorials/building_your_own_federated_learning_algorithm.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\">GitHub에서 소그 보기</a></td>\n",
" <td><a href=\"https://storage.googleapis.com/tensorflow_docs/docs-l10n/site/ko/federated/tutorials/building_your_own_federated_learning_algorithm.ipynb\"><img src=\"https://www.tensorflow.org/images/download_logo_32px.png\">노트북 다운로드</a></td>\n",
"</table>"
]
Expand All @@ -66,11 +67,7 @@
"outputs": [],
"source": [
"#@test {\"skip\": true}\n",
"!pip install --quiet --upgrade tensorflow-federated\n",
"!pip install --quiet --upgrade nest-asyncio\n",
"\n",
"import nest_asyncio\n",
"nest_asyncio.apply()"
"!pip install --quiet --upgrade tensorflow-federated"
]
},
{
Expand Down Expand Up @@ -231,7 +228,7 @@
"id": "vLln0Q8G0Bky"
},
"source": [
"TFF에서 이 모델을 사용하기 위해 Keras 모델을 [`tff.learning.Model`](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model)로 래핑합니다. 이를 통해 TFF 내에서 모델의 [정방향 전달](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model#forward_pass)을 수행하고 [모델 출력을 추출](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model#report_local_unfinalized_metrics) 수 있습니다. 자세한 내용은 [이미지 분류](federated_learning_for_image_classification.ipynb) 튜토리얼을 참조하세요."
"TFF에서 이 모델을 사용하려면 Keras 모델을 [`tff.learning.models.VariableModel`](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model)로 래핑하세요. 이렇게 하면 TFF 내에서 모델의 [순방향 전달](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model#forward_pass)을 수행하고 [모델 출력 추출](https://www.tensorflow.org/federated/api_docs/python/tff/learning/Model#report_local_unfinalized_metrics)을 수행할 수 있습니다. 자세한 내용은 [이미지 분류](federated_learning_for_image_classification.ipynb) 튜토리얼을 참조하세요."
]
},
{
Expand All @@ -244,7 +241,7 @@
"source": [
"def model_fn():\n",
" keras_model = create_keras_model()\n",
" return tff.learning.from_keras_model(\n",
" return tff.learning.models.from_keras_model(\n",
" keras_model,\n",
" input_spec=federated_train_data[0].element_spec,\n",
" loss=tf.keras.losses.SparseCategoricalCrossentropy(),\n",
Expand All @@ -257,7 +254,7 @@
"id": "pCxa44rFiere"
},
"source": [
"여기서는 `tf.keras`를 사용하여 `tff.learning.Model`을 생성하지만 TFF는 훨씬 더 많은 일반 모델을 지원합니다. 이러한 모델에는 모델 가중치를 캡처하는 다음과 같은 관련 속성이 있습니다.\n",
"위에서는 `tf.keras`를 사용해 `tff.learning.models.VariableModel`을 생성했지만, TFF는 훨씬 더 일반적인 모델을 지원합니다. 이러한 모델에는 모델 가중치를 캡처하는 다음과 같은 관련 속성이 있습니다.\n",
"\n",
"- `trainable_variables`: 학습 가능한 레이어에 해당하는 텐서의 이터러블입니다.\n",
"- `non_trainable_variables`: 학습할 수 없는 레이어에 해당하는 텐서의 이터러블입니다.\n",
Expand All @@ -273,7 +270,7 @@
"source": [
"# 고유한 페더레이션 학습 알고리즘 구축하기\n",
"\n",
"`tff.learning` API를 사용하면 Federated Averaging의 많은 변형을 생성할 수 있지만 이 프레임워크에 깔끔하게 맞지 않는 다른 페더레이션 알고리즘이 있습니다. 예를 들어 정규화, 클리핑 또는 [페더레이션 GAN 학습](https://github.com/tensorflow/federated/tree/main/tensorflow_federated/python/research/gans)과 같은 더 복잡한 알고리즘을 추가할 수도 있습니다. 아니면 [페더레이션 분석](https://ai.googleblog.com/2020/05/federated-analytics-collaborative-data.html)에 관심이 있을 수도 있습니다."
"`tff.learning` API를 사용하면 Federated Averaging의 많은 변형을 생성할 수 있지만, 이 프레임워크에 완전히 맞지 않는 다른 페더레이션 알고리즘도 있습니다. 예를 들어 정규화, 클리핑 또는 [페더레이션 GAN 학습](https://github.com/tensorflow/federated/tree/main/tensorflow_federated/python/research/gans)과 같은 더 복잡한 알고리즘을 추가하고 싶을 수도 있습니다. 아니면 [페더레이션 분석](https://ai.googleblog.com/2020/05/federated-analytics-collaborative-data.html)에 관심이 있을 수도 있습니다."
]
},
{
Expand All @@ -298,7 +295,7 @@
"source": [
"TFF에서는 일반적으로 페더레이션 알고리즘이 [`tff.templates.IterativeProcess`](https://www.tensorflow.org/federated/api_docs/python/tff/templates/IterativeProcess)(나머지 부분에서 `IterativeProcess`라고 함)로 나타내어집니다. 이것은 `initialize` 및 `next` 함수를 포함하는 클래스입니다. 여기서 `initialize`는 서버를 초기화하는 데 사용되며 `next`는 페더레이션 알고리즘의 한 통신 라운드를 수행합니다. FedAvg에 대한 반복 프로세스가 어떤 모습인지 그 골격을 작성해 보겠습니다.\n",
"\n",
"먼저 `tff.learning.Model` 생성하고 훈련 가능한 가중치를 반환하는 초기화 함수가 있습니다."
"먼저 `tff.learning.models.VariableModel`을 간단히 생성하고 훈련 가능한 가중치를 반환하는 초기화 함수가 있습니다."
]
},
{
Expand Down Expand Up @@ -375,7 +372,7 @@
"source": [
"### 클라이언트 업데이트\n",
"\n",
"`tff.learning.Model`을 사용하여 기본적으로 TensorFlow 모델을 훈련하는 것과 동일한 방식으로 클라이언트 훈련을 수행할 수 있습니다. 특히, `tf.GradientTape`를 사용하여 데이터 배치에 대한 그레디언트를 계산한 다음 `client_optimizer`를 사용하여 이러한 그레디언트를 적용할 수 있습니다. 여기에는 훈련 가능한 가중치만 관련됩니다.\n"
"`tff.learning.Model`을 사용해 TensorFlow 모델을 훈련할 때와 동일한 방식으로 클라이언트를 훈련할 수 있습니다. 특히 `tf.GradientTape`를 사용해 데이터 배치에 대한 그래디언트를 계산한 다음 `client_optimizer`를 사용해 이 그래디언트를 적용할 수 있습니다. 여기에서는 훈련 가능한 가중치만 사용합니다.\n"
]
},
{
Expand Down Expand Up @@ -472,7 +469,7 @@
"\n",
"페더레이션 코어(FC)는 `tff.learning` API의 기반 역할을 하는 하위 수준 인터페이스 집합입니다. 그러나 이러한 인터페이스는 학습에만 국한되지 않습니다. 실제로 분산 데이터에 대한 분석 및 기타 많은 계산에 사용할 수 있습니다.\n",
"\n",
"상위 수준에서 페더레이션 코어는 간결하게 표현된 프로그램 로직을 사용하여 TensorFlow 코드를 분산 통신 연산자(예: 분산 합계 및 브로드캐스트)와 결합할 수 있는 개발 환경입니다. 목표는 시스템 구현 세부 사항(예: 지점 간 네트워크 메시지 교환 지정)을 요구하지 않고 연구자와 실무자에게 시스템의 분산 통신을 신속하게 제어할 수 있도록 하는 것입니다.\n",
"간단히 설명하자면, 연합 코어는 간결하게 표현된 프로그램 로직을 사용해 TensorFlow 코드와 분산 통신 연산자(예: 분산 합계 및 브로드캐스트)와 결합할 수 있는 개발 환경입니다. 연구자와 실무자가 시스템 구현 세부 사항(예: 지점 간 네트워크 메시지 교환 지정)이 없어도 시스템에서 분산 통신을 명시적으로 제어할 수 있도록 하는 것이 목표입니다.\n",
"\n",
"한 가지 요점은 TFF가 개인 정보 보호를 위해 설계되었다는 것입니다. 따라서 중앙 집중식 서버 위치에서 원치 않는 데이터 축적을 방지하기 위해 데이터가 있는 위치를 명시적으로 제어할 수 있습니다."
]
Expand Down
8 changes: 4 additions & 4 deletions site/ko/guide/core/matrix_core.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@
"\n",
"SVD의 관점에서 ${\\mathrm{A}}$의 rank-r 근삿값은 다음 공식으로 정의합니다.\n",
"\n",
"$${\\mathrm{A_r}} = {\\mathrm{U_r}} \\Sigma_r {\\mathrm{V_r}}^T$$\n",
"어디\n",
"\n",
"어디\n",
"\n",
Expand Down Expand Up @@ -500,17 +500,17 @@
"\n",
"여기서\n",
"\n",
"$$c = \\large \\frac{x}{y} = \\frac{r \\times (m + n + 1)}{m \\times n}$$\n",
"\n",
"각 RGB 근삿값은 서로 영향을 미치지 않으므로 이 수식은 색상 채널 차원과 무관합니다. 이제 원하는 압축 인자가 주어질 경우 입력 이미지를 압축하는 함수를 작성합니다.\n",
"\n",
"어디\n",
"\n",
"- $x$: ${\\mathrm{A_r}}$의 크기\n",
"- $y$: ${\\mathrm{A}}$의 크기\n",
"- $c = \\frac{x}{y}$: 압축 인자\n",
"- $r$: 근삿값의 순위\n",
"- $m$ 와 $n$: ${\\mathrm{A}}$의 행과 열 차원\n",
"\n",
"이미지를 원하는 인자 $c$로 압축하는 데 필요한 순위 $r$를 찾기 위해 위의 수식을 다시 정렬하여 $r$를 풀이할 수 있습니다.\n",
"각 RGB 근삿값은 서로 영향을 미치지 않으므로 이 수식은 색상 채널 차원과 무관합니다. 이제 원하는 압축 인자가 주어질 경우 입력 이미지를 압축하는 함수를 작성합니다.\n",
"\n",
"$$r = ⌊{\\large\\frac{c \\times m \\times n}{m + n + 1}}⌋$$\n",
"\n",
Expand Down
8 changes: 4 additions & 4 deletions site/ko/guide/core/optimizers_core.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,9 @@
"\n",
"$\\frac{dL}{dx}$는 안장점이 $x = 0$이고 전역 최솟값이 $x = - \\frac{9}{8}$일 때 0 입니다. 따라서 손실 함수는 $x^\\star = - \\frac{9}{8}$일 때 최적화됩니다.\n",
"\n",
"$$\\frac{dL}{dx} = 8x^3 + 9x^2$$\n",
"$\\frac{dL}{dx}$는 안장점인 $x = 0$와 전역 최소값인 $x = - \\frac{9}{8}$에서 0입니다. 따라서 손실 함수는 $x^\\star = - \\frac{9}{8}$에서 최적화됩니다.\n",
"\n",
"$\\frac{dL}{dx}$는 안장점인 $x = 0$와 전역 최소값인 $x = - \\frac{9}{8}$에서 0입니다. 따라서 손실 함수는 $x^\\star = - \\frac{9}{8}$에서 최적화됩니다."
"$\\frac{dL}{dx}$ is 0 at $x = 0$, which is a saddle point and at $x = - \\frac{9}{8}$, which is the global minimum. Therefore, the loss function is optimized at $x^\\star = - \\frac{9}{8}$."
]
},
{
Expand Down Expand Up @@ -338,10 +338,10 @@
"\n",
"여기서,\n",
"\n",
"$$x^{[t]} = x^{[t-1]} - \\Delta_x^{[t]}$$\n",
"\n",
"여기서\n",
"\n",
"어디\n",
"\n",
"- $x$: 최적화하는 변수\n",
"- $\\Delta_x$: $x$에서 변경\n",
"- $lr$: 학습률\n",
Expand Down
8 changes: 4 additions & 4 deletions site/ko/guide/dtensor_overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@
"1차원 `Mesh`에서는 모든 장치가 단일 메시 차원으로 목록을 형성합니다. 다음 예제에서는 6개 장치를 사용하는 `'x'` 메시 차원에 따라 `dtensor.create_mesh`를 사용하여 메시를 생성합니다.\n",
"\n",
"\n",
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_mesh_1d.png\" class=\"no-filter\" alt=\"6개의 CPU를 사용하는 1차원 메시\"> \n"
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_mesh_1d.png\" class=\"no-filter\" alt=\"6개의 CPU를 사용하는 1차원 메시\"> \n"
]
},
{
Expand Down Expand Up @@ -262,7 +262,7 @@
"동일한 텐서를 사용하고 `Layout(['unsharded', 'x'])` 레이아웃을 메시하면 6개의 장치에서 텐서의 두 번째 축이 분할될 수 있습니다.\n",
"\n",
"\n",
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_rank1.png\" class=\"no-filter\" alt=\"1순위 메시에서 분할된 텐서\"> "
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_rank1.png\" class=\"no-filter\" alt=\"1순위 메시에서 분할된 텐서\"> "
]
},
{
Expand Down Expand Up @@ -291,7 +291,7 @@
"id": "Eyp_qOSyvieo"
},
"source": [
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_rank2.png\" class=\"no-filter\" alt=\"메시 차원 'y'에서 분할된 첫 번째 축과 메시 차원 'x'에서 분할된 두 번째 축이 있는 텐서\"> \n"
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_rank2.png\" class=\"no-filter\" alt=\"메시 차원 'y'에서 분할된 첫 번째 축과 메시 차원 'x'에서 분할된 두 번째 축이 있는 텐서\"> \n"
]
},
{
Expand All @@ -314,7 +314,7 @@
"동일한 `mesh_2d`의 경우 레이아웃 `Layout([\"x\", dtensor.UNSHARDED], mesh_2d)`은 2순위 `Tensor`이며, 이는 `\"y\"`에 복제되고 첫 번째 축이 메시 차원 `x`에서 분할됩니다.\n",
"\n",
"\n",
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_hybrid.png\" class=\"no-filter\" alt=\"메시 차원 y에서 복제된 텐서, 메시 차원 'x'에서 분할된 첫 번째 축\"> \n"
"<img src=\"https://www.tensorflow.org/images/dtensor/dtensor_layout_hybrid.png\" class=\"no-filter\" alt=\"메시 차원 y에서 복제된 텐서, 메시 차원 'x'에서 분할된 첫 번째 축\"> \n"
]
},
{
Expand Down
Loading
Loading