Loading...
2024. 9. 5. 20:47

activation function quantization에 대하여

1. introduction weight뿐만 아니라 activation에도 quantization을 적용할 수 있다 심지어 activation과 weight에 서로 다른 quantization을 적용할 수 있다 activation끼리도 서로 다른 quantization 적용이 가능하고 weight끼리도 서로 다른 quantization 적용이 가능하다   위 그림을 보면 weight에 모두 8bit로 quantization을 하고 activation 3개에는 모두 다른 16bit, 8bit, 3bit quantization을 하고 있다  2. problem activation function을 quantization하면 문제점은 계단함수가 되어 모든 구간에서 미분이 안된다는 문제점이 있다 forward ..

2024. 9. 4. 22:33

군집을 찾는 알고리즘2 - Louvain algorithm

주어진 그래프의 개별 정점에서부터 점점 군집을 병합해가는 상향식 알고리즘  1. first phase - modularity optimization 처음 주어진 상태에서는 개별 node 1개씩이 하나의 군집이라고 생각 특정 node i를 그것의 이웃(neighbor)인 j에 병합시키면서 modularity의 변화량을 계산함 원래 상태의 modularity와 이웃인 j에 병합시킨 뒤 modularity의 차이를 계산한다. 병합시키면 군집이 생기니까 modularity는 최소한 감소하지는 않음 이 때 최대로 modularity가 증가하는 이웃 j가 있을 것인데 그곳에 i를 포함시킨다. 증가하는 경우가 없다면 어떠한 곳에도 포함시키지 않는다. 다시 다른 node v를 선택하여 위 과정을 반복, 모든 node에..

2024. 9. 4. 20:28

mixed precision training 자세히 공부하기

1. bit와 byte 1bit는 2가지 경우를 표현하는 정보의 단위로 0 아니면 1을 표현한다 1byte는 8bit와 같으며 몇가지를 표현할 수 있을까?  1bit가 2가지를 표현하므로 $2^{8}$가지를 표현할 수 있다 보통 자주 언급되는 bit가 정수를 어디까지 표현할 수 있을까?? 1bit가 0 아니면 1을 표현하므로 0부터 $2^{1} - 1$까지 표현한다고 말한다 2bit는 $2^{2}$가지를 표현하므로 0,1,2,3의 4가지를 생각하여 0부터 $2^{2} - 1$까지 표현한다고 말한다 비슷하게 1byte=8bit는 0부터 $2^{8} - 1$까지 음이 아닌 정수를 표현할 수 있다 음수를 포함하겠다면? 0부터 255까지 256가지를 절반으로 나눠서 128가지씩 나눠가져서  –128부터 127까..

2024. 9. 2. 20:05

그래프 전파 모형3 - 전파 최대화 문제(influence maximization)

1. viral marketing 소비자들로 하여금 상품에 대해 긍정적인 입소문을 내게하는 기법 효과적으로 상품 정보가 소비자들에게 알려질려면 소문의 시작점이 중요하다. 시작점에 따라 입소문이 전파되는 범위가 달라지기 때문이다.  2. importance of seed set SNS 인플루언서들이 높은 광고비를 받는 이유가 있다. 전파 모형에서 첫 시작점을 seed set이라고 부르는데 viral marketing에서는 이 시작점을 잘 선택해야 광고 효과를 극대화할 수 있다.   케이트 미들턴을 광고 모델로 선택했더니 판매량이 급증했다 선형 임계치 모형에서도 seed set의 중요성을 볼 수 있는데 처음에 u와 v를 선택했을 때 총 9명(7명 전파)이 A를 선택했다.    만약 위 모형에서 다음과 같이 ..

2024. 9. 1. 22:22

군집을 찾는 알고리즘1 - Girvan-Newman algorithm

1. idea 군집을 찾는 대표적인 하향식 알고리즘으로 전체 그래프에서 시작하여 군집들이 서로 분리되도록 link를 순차적으로 제거함 서로 다른 군집을 연결하는 다리 역할을 하는 link를 먼저 제거해나가야 군집들이 분리 될 것이다.   2. betweenness centrality 그래프의 임의의 두 node의 최단 경로 위에 특정 link가 몇번이나 놓이는지 계산    link A-B는 양 옆 4개의 node중 하나를 선택하여 만든 최단 경로에 모두 존재해야하므로 4*4=16가지가 있다. 따라서 그림을 보면 직관적으로 betweenness centrality가 높은 link는 두 군집을 연결하는 다리 역할을 할 가능성이 높다.   3. algorithm 주어진 그래프에서 모든 link의 매개 중심성을..

2024. 8. 29. 22:46

Deep learning compiler란 무엇인가

1. motivation 모든 network는 기본적으로 graph로 나타낼 수 있다. C가 작성만 하면 컴퓨터가 이해하는 것이 아니고 compile 과정을 거쳐서 기계어로 최종 번역되어야 이해할 수 있다. network도 마찬가지로 그냥 GPU에서 돌아가는 것이 아니라 graph lowering 과정을 거쳐야 hardware에서 이해할 수 있다. 이러한 역할을 해주는 것이 deep learning compiler 지금까지 software측면에서 network만 주로 공부했지만 실제로 network가 CPU,GPU 같은 hardware 환경에서 돌아가기까지 생각보다 많은 일이 있다.    high level단의 pytorch 같은 것으로 만든 모델은 edge device인 edge TPU나 Jetson ..