Skip to content
Snippets Groups Projects
Commit d36502df authored by Chang-Uk Jeong's avatar Chang-Uk Jeong
Browse files

Update README.md

parent 8176ac07
No related branches found
No related tags found
No related merge requests found
......@@ -13,20 +13,27 @@
### 아이템 선정 동기
- 저는 현재 개인적으로 Graph Machine learning을 활용한 연구를 진행하고 있습니다.
- 처음 Graph ML을 공부할 때 한국어로 된 강의들은 몇 개 찾아볼 수 있었지만, 스탠포드 대학의 CS224W 과정과 같이 실습을 병행하며 공부할 수 있는 한국어 자료는 거의 찾아볼 수가 없었습니다. 그래서 영어로 된 강의와 논문, 공개된 코드들을 찾아가며 공부해야 했습니다. 그렇게 오랜 시간을 투자하고 여러 시행착오를 겪으면서, 이제는 Graph ML에 대해 전반적인 이해를 갖추었고 연구를 하면서 모델 알고리즘을 수정하고 실험을 위한 세팅을 만드는 일들을 할 수 있게 되었습니다.
- 앞선 경험을 통해 만약 한글로 된 Graph ML 학습 자료가 잘 갖추어진다면, 그래프 머신러닝을 새로 공부하는 다른 사람들이 훨씬 효율적으로 공부할 수 있을 것이라는 생각이 들었습니다. 그리고 제가 처음 그래프 머신러닝을 공부할 때부터 `PyTorch Geometric(PyG)` 라이브러리를 알았더라면, 조금 더 체계적으로 코드를 관리하고 여러 시행착오를 줄일 수 있었을 것이라는 생각을 하게 되었습니다. 그래서 `PyG` 를 실습을 통해 경험할 수 있는 한글로 된 그래프 머신러닝 학습자료를 만드는데 기여하고 싶다는 생각을 늘 하고 있었습니다.
- 다만, 직접 한국어로 된 학습 자료를 만들기 보다는 이미 잘 만들어진 영어 자료를 번역하는 것이 학교 수업 프로젝트 주제로서 규모적인 면에서 더 적합하기도 하고, 결과물의 질적인 측면에서도 더 좋을 것이라 판단했습니다. 또한, MIT 라이선스를 기반으로 배포되는 `PyG` 라이브러리의 문서를 번역한다는 측면에서 오픈소스에 기여한다는 프로젝트의 방향성과도 잘 부합한다고 생각했습니다.
### 개발하면서 발생했던 문제점
- `PyG` 문서를 한글화 하는 번역 프로젝트가 기존에 있었다면 그 프로젝트에 참여해서 정해진 규칙에 따라 번역만 하면 되니 단 시간에 집중도 있게 과제를 수행할 수 있었을텐데, 안타깝게도 그런 번역 프로젝트를 찾지 못해서 제가 처음부터 이 번역 프로젝트의 규칙과 범위를 정해야 했고 번역을 어떤 방식으로 할 지에 대한 결정에 많은 시간을 쏟아야 했습니다.
- 우선, 제가 처음으로 `PyG` 의 한글화를 시작했기에, 번역 기여 사이트처럼 번역을 위한 툴이 갖춰져 있는 것도 아니었고 번역의 결과를 어떻게 형식화할지에 대한 부분도 정해지지 않은 상태였습니다. 여러 고민 끝에 [PyG 의 문서](https://pytorch-geometric.readthedocs.io/en/latest/index.html)[readthedocs](https://about.readthedocs.com/)로 작성되어 있고, 조사를 통해 reStructuredText(rst) 포맷이 readthedocs와 연동이 된다는 사실을 알게되었습니다. 저는 개인적으로 이 번역 프로젝트를 장기적으로 꾸준히 수행해서 완성된 번역본을 readthedocs에 보다 깔끔한 형태의 문서로 완성하고 싶다는 생각이 있었고, 따라서 번역 내용을 rst 파일 포맷으로 저장하는 것으로 방향을 잡았습니다.
- 그 다음 처음에는 임의대로 번역을 수행했었는데, 아무래도 머신러닝 분야의 용어들은 한글로 직역을 하게 되면 오히려 더 이해가 어려워지는 경우가 많아서, 이 부분을 제 개인적인 판단으로 정하면 안되겠다는 판단이 들었습니다. 그래서 `PyG``PyTorch` 를 기반으로 만들어진 라이브러리인만큼, 기존에 큰 커뮤니티를 바탕으로 파이토치의 한글화 프로젝트를 수행하고 있는 [파이토치 한국 사용자 모임](https://pytorch.kr/)의 번역 규칙을 따르는 것이 적절하겠다는 생각하여 1차적으로는 [PyTorchKorea의 번역 가이드](https://github.com/PyTorchKorea/tutorials-kr/blob/master/TRANSLATION_GUIDE.md)를 바탕으로 하였고, 지정된 용어가 없는 경우에는 추가적으로 아래의 사이트들을 참고하여 번역을 수행했습니다.
[정보통신기술용어해설](http://www.ktword.co.kr/)
[machine_learning_eng2kor](https://github.com/keunwoochoi/machine_learning_eng2kor/blob/master/dictionary.md)
- 그리고 앞서서 번역 프로젝트의 번역 방식과 규칙을 정하느라 생각보다 많은 시간을 할애하여, 실질적인 번역을 시작하는 데까지 오랜 시간이 걸렸습니다. 남은 기간을 현실적으로 고려하여 이번 과제에서 번역의 범위는 원본 `docs``index.rst`, `get_started` 폴더의 `introduction.rst` 파일과 `colabs.rst` 파일로 정했습니다.
### 감상
- 우선, 그래프 머신러닝을 공부한지 1년이 넘었고 구현에서 이미 많은 것들을 경험해서 유용한 기능들은 대부분 파악하고 있다고 생각했는데, 생각보다 유용한데도 제가 알지 못했던 메소드들이 꽤 있다는 사실을 알게 되었습니다. 그래서 번역을 하면서도 `PyG` 라이브러리를 공부할 수 있는 좋은 기회가 되었습니다.
- 또한, 시간적인 제약으로 인해 아직 많은 부분을 번역하지 못했지만, 여전히 한국어로 된 그래프 머신러닝 학습 자료가 많이 부족하기 때문에 장기적으로 계획을 잡고 이제 막 초석을 다졌다고 할 수 있는 이 프로젝트를 꾸준히 수행해서 한국의 그래프 머신러닝 연구자들에게 많은 도움을 줄 수 있으면 좋겠다는 생각을 했습니다. 앞서 언급한 것처럼, 번역을 어느정도 진행한 후에는 [pyg-team](https://github.com/pyg-team/pytorch_geometric)에 번역한 결과를 공유하며 pull request를 보낼낼 생각이며, 가능하다면 커뮤니티를 꾸려 좀 더 완성도 있는 번역과 함께 문서화 작업도 수행하고 싶습니다.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment