2장
1 REPL(read-eval-print-loop)은 대화형 인터프리터(interpreter) 또는 셸(shell)이라고도 합니다. REPL을 사용하여 인터랙티브하게 코드를 작성하면서 변수를 조사하고 함수를 테스트할 수 있습니다.
3 역주 예를 들어 tf.tensor2d([[1,2], [3,4]])와 같이 리스트의 리스트로 전달하는 경우입니다.
4 역주 벡터의 경우 종종 원소의 개수를 차원이라고 부릅니다. 예를 들어 3차원 공간상의 좌표를 나타낸 벡터 [1, 2, 3]은 3차원 벡터라고 부릅니다. 비슷하게 [1, 2, 3, 4, 5]는 5차원 벡터가 됩니다. 하지만 텐서로 생각할 때는 1차원(1D)입니다.
5 역주 bias는 여러 의미로 사용됩니다. 모델의 파라미터를 의미할 때는 ‘편향’이라 번역하고, 직선의 y-절편을 의미할 때는 ‘절편’으로 옮겼습니다. 또한, ‘한쪽으로 치우쳐졌다’는 의미로도 편향을 사용합니다. 이런 경우에는 ‘편향되지 않게’ 또는 ‘편향을 피하기 위해’ 등으로 문맥상에서 구분할 수 있도록 했습니다.
6 역주 혼돈을 피하기 위해 함수나 메서드의 parameter는 ‘매개변수’로 번역하고 모델의 parameter는 ‘파라미터’라고 옮겼습니다.
7 즉시 실행 함수 표현에 대한 더 자세한 정보는 다음 주소를 참조하세요. http://mng.bz/RPOZ
8 이런 단순한 선형 모델의 경우 간단하고 효율적인 해석적 솔루션(closed-form solution)이 있습니다. 하지만 이 최적화 방법은 나중에 소개할 더 복잡한 모델에서도 계속 적용할 수 있습니다.
9 역주 그림 2-5에서 손실 축이 종이에 수직으로 놓여 있다고 생각하면 이해하기 쉽습니다.
10 역주 파일 크기 0, 커널 0.07, 편향 0.08을 kernel * input + bias 공식에 적용하면 0.07 * 0 + 0.08 = 0.08이 되므로 약 0.1초가 걸린다고 말할 수 있습니다.
11 역주 gradient가 손실 함수의 미분 결과를 의미할 때는 ‘그레이디언트’로 쓰고, 그 외에는 ‘경사’로 번역합니다.
12 역주 여기에서 스텝은 하이킹에 비유하면 가장 가파른 경사를 따라 이동하는 걸음을 의미합니다.
13 역주 다른 말로 하면 loss에 대한 loss의 그레이디언트는 1입니다.
14 역주 이 외에도 역전파 알고리즘의 수학 이론을 유도하고 파이썬 코드로 밑바닥부터 직접 구현해 보는 <Do It! 딥러닝 입문>(이지스퍼블리싱, 2019)을 추천합니다.
15 역주 이 글의 번역본을 역자의 블로그에서 읽을 수 있습니다. https://bit.ly/37AUYTY
16 David Harrison and Daniel Rubinfeld, “Hedonic Housing Prices and the Demand for Clean Air,” Journal of Environmental Economics and Management, vol. 5, 1978, pp. 81–102, http://mng.bz/1wvX
17 역주 표 2-1에는 없지만 보스턴 주택 데이터셋은 흑인 인구 비율을 사용하는 특성 B를 포함하고 있습니다. 이런 데이터셋은 인종 차별에 대한 우려가 있기 때문에 점차 사용되지 않는 추세입니다.
18 이 책의 예제는 오픈 소스이고 github.com과 codepen.io에서 제공됩니다. Git 소스 컨트롤 도구 사용 방법을 다시 되새기려면, 깃허브에서 잘 만들어 놓은 튜토리얼(https://docs.github.com/en/get-started/quickstart)을 참고하세요. 버그를 발견하거나 바로잡을 것이 있다면 깃허브 풀 리퀘스트(pull request)로 수정 사항을 보내 주세요.
19 역주 원서의 깃허브는 tensorflow/tfjs-examples입니다.
20 번역서의 예제는 데모 사이트(http://ml-ko.kr/tfjs/)에서 온라인으로 실행해 볼 수 있습니다.
21 역주 원서는 텐서의 차원을 표현할 때 랭크(rank)와 차원수 방식을 혼용하여 사용합니다. 예를 들어 ‘랭크-2 텐서’ 또는 ‘2D 텐서’와 같이 씁니다. 번역서는 명시적으로 랭크를 언급할 필요가 없다면, 가급적 간결하게 ‘2D 텐서’로 통일합니다. 랭크와 텐서 차원에 대해서는 부록 C를 참고하세요.
22 역주 크롬 브라우저에서 브레이크포인트를 설정하는 방법은 http://mng.bz/rPQJ를 참고하세요. 파이어폭스, 엣지 또는 다른 브라우저에서 브레이크포인트를 설정하는 방법은 검색 엔진에서 ‘브레이크포인트 설정 방법’을 검색해 찾을 수 있습니다.
23 역주 sgd() 함수는 SGDOptimizer 클래스 객체를 생성하여 반환합니다.
24 역주 이런 설정의 예로는 모델의 층 개수, 층의 크기, 옵티마이저 종류, 훈련하는 동안 사용할 학습률 등이 있습니다. 이런 값들을 모델의 하이퍼파라미터(hyperparameter)라고 부르며 3.1.2절에서 자세히 다루겠습니다.
25 이런 식으로 크기를 비교하는 것은 보스턴 주택 데이터셋에 적용한 것처럼 특성이 정규화되었을 때만 가능합니다.