분류 전체보기 6

[PEP series] PEP-008 Style Guide (2)

CommentsCommon Tips주석에 쓰이는 언어를 모르는 사람이 없다고 확신할 때만 영어가 아닌 다른 언어를 쓸 것첫 문장은 무조건 대문자로 쓸 것 (아니면 identifier로 헷갈릴 수 있다.)identifier의 대문자 소문자는 꼭 구별해서 잘 쓸 것마지막 문장을 제외하면 각 문장마다 공백을 써서 가독성을 높일 것Block Comment블록 코멘트는 #와 이후 따라오는 single space로 쓰여진다.또, 해당 코멘트로 설명하려는 코드와 동일한 indent level을 가져야 한다.Inline Comment블록 코멘트와 같이 # 와 이후 따라오는 single space로 쓴다.inline comment는 해당 코드와 동일한 라인에 적는데, 코드와 적어도 2개 이상의 공백으로 분리한다.PEP에..

Python 2025.02.02

[PEP series] PEP-008 Style Guide (1)

Introduction - What is PEP?PEP는 Python Enhancement Proposal의 약자이다.즉, 파이썬이 발전하는 과정 중에 논의된 내용들을 정리한 문서들을 의미한다.Python을 사용하는 유저라면 필독이 권장되는 중요한 문서부터, 한 번쯤 읽어볼만한 문서까지 여러 종류가 있다.그런 PEP 문서 중에서 몇 가지 흥미를 끄는 것을 읽고 정리를 해보려고 한다.(사실 Style을 다루는 PEP 8, Docstring 컨벤션을 다룬, PEP 257이 메인 목표고 나머지는 잘 모르겠다.)다른 PEP에 대해서는 PEP-0000을 참고하자. A Foolish Consistency파이썬을 비롯해 많은 언어에서 코드를 작성하는 것보다 읽는 것이 더 많을 것이라고 가정한다.파이썬의 스타일 가이..

Python 2025.02.02

[논문 읽기] Be Your Own Teacher - Improve the Performance of Convolutional Neural Networks via Self Distillation

Before the StartKnowledge Distillation의 컨셉에 대해서 알고 있어야 편합니다0. AbstractAccuracy를 조금이라도 더 올리기 위해서 deeper, wider network를 설계하는게 하나의 트렌드였다구조를 키워서 정확도는 올라갔지만, Computational cost가 높아졌다. Self KD는 구조를 줄이면서 성능은 올렸다. 아이디어는 하나의 모델을 여러 section으로 나눠, deeper section에서 shallow section으로 distillation을 적용해주는 것이다.1. Introduction최근 나온 구조들은 cost가 굉장히 크고, 이전에 비해 acc를 올리기 위해 필요한 cost의 증가량이 커졌다. (ex. 이전에는 1% 올리기 위해 5G..

AI 2025.02.02

[논문 읽기] Efficiently Identifying Task Groupings for Multi-Task Learning

0. 왜 골랐는가Open Review에서 굉장히 좋게 평가해주었길래 어떤 아이디어가 그렇게 참신한가 싶어서 골랐다.1. Multi Task Learning이 낯선 사람들을 위해1.1. 간단한 소개멀티 태스크 러닝(이하 MTL)은 이름에서 알 수 있듯이, 하나의 모델이 여러 task를 수행해준다. 하나의 모델이 여러 task를 동시에 수행하기 위해서, 구조를 공유하거나, parameter를 유사하게 만들어준다. 아래는 동일한 parameter를 공유하는 “Hard Parameter Sharing”, 그리고 동일하지는 않지만, 유사한 parameter를 사용하는 “Soft Parameter Sharing”의 예시이다.Fig1. Hard Parameter Sharing과 Soft Parameter Sharin..

AI 2025.02.02

ABCI and ABCI++

ABCI, and its Connection들어가기 전에..1.이 글은 텐더민트 컨센서스에 대한 기초적인 이해가 있다고 가정하고 작성된 글이다. 그렇다고, 따로 공부하고 읽어야할 정도는 아니고, 중간중간 모르는 것들을 찾아보면서 읽는 정도로도 충분할 것이다. 또한 이전 포스팅 텐더민트와 ABCI을 읽는다면 더 편하게 이해할 수 있을 것이다.2.이 글은 PDAO(Postech DAO) 세미나를 준비하면서 만든 자료를 근거해 쓴 글이다. 만약 이 글에 대한 동영상 자료를 보고 싶다면, 링크에서 세미나를 볼 수 있다.What is Tendermint, Not Tendermint CoreGoal of Tendermint많은 곳에서 텐더민트에 대해서 검색하면, 컨센서스 알고리즘에 대한 설명이 나온다. 그 이유는 ..

블록체인 2025.02.02

텐더민트, 그리고 ABCI

1. 텐더민트란 무엇인가?1.1 텐더민트의 구성요소간단히 말하자면, 텐더민트는 어떤 언어로든 블록체인을 만들기 위한 소프트웨어이다.텐더민트는 크게 블록체인 합의 엔진(a.k.a 텐더민트 코어)와 Generic Application Interface(a.k.a ABCI)로 이뤄져 있다.텐더민트 사이트의 설명에 의하면, 합의 엔진은 모든 State Machine(=node)에 동일한 Transaction이 동일한 순서로 기록되게 하고, ABCI(Application Blockchain Interface)는 어떤 언어로든 이 작업이 이뤄질 수 있게 해준다. 조금 더 가볍게 설명하자면, 텐더민트 코어는 비잔틴이 1/3 이하일 때, 모든 노드가 올바른 Transaction에 합의하고, 기록하는 작업을 도와주는 모..

블록체인 2025.02.02