-
typing.NamedTuple
파이썬의 typing, types를 보면 신기한 것들이 많이 추가되고 있다. 최근 @golbin 님으로부터 배운 것중 하나는 NamedTuple. 파이썬 3.7부터는 @dataclass라는 annotation으로 가능해진다. 혹시 -> float 부분이 뭐지 싶으신 분은 Type Hints를 참고하시길.
Tags:
-
choco
윈도우용 유니버셜 인스톨러. https://chocolatey.org/ 예를들어 ssh 도 이렇게 설치 가능하다.
Tags:
-
파이썬 코드에서 중간에 콘솔 띄우는 디버깅
파이썬 디버깅할 때 쉽게 하는 방법중 하나입니다. 코드를 실행하다가 중간에 로컬 변수를 모두 볼 수 있는 콘솔을 띄우려면 이렇게 합니다. 그러면 파이썬 콘솔이 a=3 뒤에 실행되고 곧바로 print(a) 로 그 내용을 볼 수 있습니다.
Tags:
-
ZCA Whitening
Stack exchange 글인데 정말 훌륭한 설명입니다. 이렇게 핵심만 전달하는 능력이 있다니.. What is the difference between ZCA whitening and PCA whitening? 같은 사람의 PCA를 사용한 whitening 방법에 대한 글도 훌륭하네요.
Tags:
-
Learning to execute
Learning to execute. 계산을 RNN으로 해보자. https://arxiv.org/abs/1410.4615 덧셈 문자열 구현을 RNN으로 만든 Keras 구현 예시. 이 구현에서는 입력을 뒤짚는 부분도 흥미로움. 예를들어 12+34는 43+21로 만드는데, 실제 덧셈은 일의 자리 다음 십의 자리를 계산한다는 것을 생각하면 충분히 이해가 됨. 실행해보면 성능도 매우 우수함.
Tags:
-
Curriculum Learning
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.4701 Humans and animals learn much better when the examples are not randomly presented but organized in a meaningful order which illustrates gradually more concepts, and gradually more complex ones. Here, we formalize such training strategies in the context of machine learning, and call them “curriculum learning” … significant improvements in generalization can be achieved.…
Tags:
-
Scheduled Sampling
RNN에서 훈련시 실제 시퀀스 대신 모델이 예측하는 값을 입력으로 준다. 예측이 잘못된 뒤 완전히 엉뚱한 시퀀스를 답으로 내놓는 문제를 해결. 또한 실제 예측시와 동일하게 훈련을 시킨다는데 의미가 있음. We propose a curriculum learning strategy to gently change the training process from a fully guided scheme using the true previous token, towards a less guided scheme…
Tags:
-
Skew 된 데이터에서의 기하 평균
랜덤 변수 X가 로그 노말을 따르면 X의 기하평균이 중앙값과 같다. 또한 기하 평균은 산술 평균보다 같거나 작다. 따라서 outlier가 있는 데이터에서 기하 평균이 유용하게 쓰인다. 예를들어 웹 사이트 로딩 시간의 latency 를 로그 노말로 본다면 latency의 기하 평균을 구할 경우 그 값은 중앙값이 된다.중앙값은 outlier의 영향을 덜 받으므로 보다 더 대표적인 latency를 구할 수 있는…
Tags:
-
Rounding Half to Even
반올림을 할 때의 문제는 0.5 입니다. 0.5를 제외하고는 절반은 작은 수, 절반은 큰수로 가죠. 예를들어 round(0.3)=0 이고 round(0.6)=1입니다. [0, 1] 사이의 수에 반올림을 하면 소수점 이하가 0.5인 경우를 제외하고는 round()를 하고나면 절반은 0, 절반은 1이되어 기대값이 0.5가 됩니다. 문제는 0.5인데, 통상 우리가 아는 반올림은 round(0.5)=1입니다. 이 방법을 Round Half Up이라고 합니다. 이 방법의 문제점은 대칭적이지…
Tags:
-
Changing numpy array column or shape
Changing the order of columns. This is useful when you want to reorder image data, e.g., rgb -> bgr. Changing the order of axis. For image, this is useful if you want to change the channel axis to the arbitrary position. As an example, matplotlib.pyplt.plot() accepts images in the form of (x, y, channel). Your…
Tags: