본문 바로가기
[파이썬 알고리즘] 백준 1463 풀이 _ 동적프로그래밍 처음에 보고 도무지 어떻게 풀어야 할지 모르겠다는 느낌이 들었습니다. 그런데 보 다보다 고민하다 보니 점화식이라는 것을 알게 됐습니다. 점! 화! 식! 계단 올라가는 거죠 10칸짜리 계단을 올라가는데 올라갈 수 있는 방법이 세 가지라고 하는 거랑 같은 문제죠 예를 들어 2칸 올라간다, 3칸 올라간다, 1칸 내려간다 이 세가지 행동들을 최소한으로 취하여 올라가는 방법을 찾는 거조 여기서 포인트는 최소한의 횟수입니다.! 그러면 우리는 2칸짜리 계단 올라가는 것, 3칸짜리 계단 올라가는 것 등등을 계산하여 4칸짜리 계단 올라가는 문제는 2칸짜리 계단에서 2칸 올라가는 연산 한 번만 추가로 하면 최소한의 횟수로 올라가는 것을 알 수 있죠! 여기까지는 예시이고요 우리 문제에 대한 정확한 설명과 함께 풀어보도록 하.. 2022. 3. 22.
[Color Channel] ARGB(RGBA) vs RGB Face Detector를 가볍게 뜯어보는데 잘 모르겠는 부분인 RGBA color model에 대해 부연설명하도록 하겠습니다. RGBA는 Red Green Blue Alpha의 첫 글자를 축약한 단어입니다. 기본적으로 RGB channel에 Alpha channel이 추가된 channel입니다. Alpha는 각각의 픽셀이 얼마나 투명한지(opaque)를 나타내는 부분입니다. 또한 alpha compositing을 이용하여 transparent areas(투명한 영역)와 anti-aliasing of the edges of opaque regions를 image와 combine 할 수 있게 해 줍니다. 그래서 뭐 어쨌다는 건지..? 2022. 3. 16.
[Computer Vision] Face detector https://github.com/kairess/face_detector GitHub - kairess/face_detector Contribute to kairess/face_detector development by creating an account on GitHub. github.com https://www.youtube.com/watch?v=tpWVyJqehG4 오늘 해볼것은 FACE DETECT한뒤 다른 이미지로 대체하는 project입니다. 우선 유튜브와 github 동시에 공유 해드리겠습니다. 직접 확인해보시는것도 좋겠죠? terminal 에서 git clone https://github.com/kairess/face_detector.git 입력해주시면 됩니다 그러면 이런 폴더가 생성되는데.. 2022. 3. 16.
[Computer Vision] 나의 관심 분야 빵형의 개발도상국이라는 유튜버가 계십니다. 여러 가지 재밌는 주제를 다루시는 것 같아서 그중에 제가 재밌어하는 분야들을 따라 쳐보면서 좀 더 뻗어나가보려 합니다. RESPECT! https://www.youtube.com/c/%EB%B9%B5%ED%98%95%EC%9D%98%EA%B0%9C%EB%B0%9C%EB%8F%84%EC%83%81%EA%B5%AD/videos 빵형의 개발도상국 신기하고 재밌는 인공지능을 쉽게, 짧게, 내손으로 만들어 봅니다! 📮사업 및 개발문의 kairess87@gmail.com 😘빵형의 개발도상국 후원 카카오페이 : https://qr.kakaopay.com/Ej86nqvdu 투네이션 : https://toon.at www.youtube.com https://github.com/.. 2022. 3. 15.
Attention is all you need Abstract dominant한 sequence transduction models는 encoder 와 decoder를 포함한 복잡한 rnn 이나 cnn 구조에 기반을 두고있다. 성능이 좋은 모델들은 encoder와 decoder를 attention mechanism을 통해 연결한다. the Transformer: 독자적인 attention mechanisms에 기반하고 RNN, CNN전체를 dispensing(?) 하는 구조 IntroductionAttention mechanisms은 다양한 task에서 compelling sequence modeling과 transduction 모델들의 통합적인 부분이 됐다. 이것은 input혹은 output sequence의 거리를 고려하지않는 modeling의 .. 2022. 3. 15.
GNN(Graph Neural Network) 2022. 3. 15.
Few-Shot learning making classification or regression based on a very small number of samples. ‘learn to learn’ 1000개의 이미지 다 구분해라! 가 아니고 비슷한 애들끼리 묶어봐~ 느낌 같은 애들끼리 묶어놓고 답지 줄테니까 그쪽으로 분류해놔! 문제정의 → 문제 간소화 (추상화) → divide and conquer. Support Set vs Training Set support set : the small set of labed images training set : big set Meta-Learning Few-shot learning is a kind of meta-learning. Meta-learning is different from t.. 2022. 3. 15.
[파이썬 알고리즘] 백준 10991, 백준 10992 풀이 10991에서 막혔습니다. 구글에 찾아보았습니다. n = int(input()) for i in range(1,n+1): print(" " * (n-i) + "* " * (i-1) + "*") 마치 고등학교때 수학문제를 풀다가 답지를 봤는데 생각보다 너무 쉬워서 허탈한 그런 느낌적인 느낌입니다. (n-i)의 이용이 아주 유용하기 때문에 완벽한 이해와 함께 넘어가면 좋겠다는 생각을 했습니다. 하는김에 10992까지 풀어보겠습니다 아래코드가 완벽한 저의 스타일이네요 ㅋㅋㅋ 예외처리 없이 하면 참 좋을텐데 떠오르는 방법이 이런거 밖에 없는걸요~! n = int(input()) for i in range(1,n): if i ==1: print(" " *(n-i) +'*') else: print(" " * (n-.. 2022. 3. 2.
[파이썬 알고리즘] 백준 2242 풀이 2242에서 막혔습니다. 잘 모르겠습니다. 하하 for문을 두개 쓸까 세개쓸까 이런생각만 하고있었는데, 구글에서 찾아보고 새로운 것을 알아버렸습니다~ 뭔지는 알겠는데 짜라고 하면 못짜겠네요~ ㅋㅋㅋ 배웠으니 익히고 제것으로 만들어 보겠습니다~ x = int(input()) for i in range(1,x+1): y = ' '* (x-i) + '*'*(2*i-1) print(y) 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442,2445,2522,2446, 까지 클리어 10991, .. 2022. 2. 28.
[파이썬 알고리즘] 백준 10818 풀이 10818에서 막혔습니다. 처음에 시간 초과 에러가 나온 코드를 먼저 보여드리겠습니다. 너무 간단하게 생각해서 그냥 리스트에 다 때려 박고 min, max를 출력하면 되는 줄 알았습니다. n = int(input()) x = input() list = [] for i in range(n): list.append(x.split(' ')[i]) print(min(list),max(list)) 그래서 바꿔봤습니다! 조건을 걸어서 min max값을 업데이트하는것으로! 최소값과 최대값을 알려주었으니 맞춰서 업데이트 하는 형태로!! n = int(input()) x = input() min = 1000000 max = -1000000 for i in range(n): num=int(x.split(' ')[i]) i.. 2022. 2. 17.
[Grad-CAM] 간단히 발표용 자 이제 저는 Guided Bakcpropagation에 대해 자세히 파보고, 그 뒤로 전체 코딩으로 완성해보겠습니다. 2022. 2. 16.
[파이썬 알고리즘] 백준 11720 풀이 11720 에서 막혔습니다. 공백 없이 주어지는 숫자를 어떻게 해체해야하는지를 모르겠그등여 모르면 찾아봐야겠죠? 여기서 처음으로 함수(def)를 만들어서 사용하게 되네요! 다음과 같은 코드로 해결하게 됐습니다. def split(word): return [char for char in word] n=input() x=input() list=split(x) k=0 for i,l in enumerate(list): k+=int(l) print(k) 11721도 좀 절었습니다. 근데 어찌저찌 풀어냈습니다!! import math def split(word): return [char for char in word] x=input() list=split(x) for i in range(math.ceil(len(l.. 2022. 2. 16.
[파이썬 알고리즘] 백준 10951 풀이 제가 처음으로 막혔던 부분은 10951번 문제 입니다. 런타임 에러(EOFerror)로 잡혔네요 문제는 다음과 같고 제가 제출한 답은 아래 코드블럭으로 넣어봤습니다. while True: x = input() if x!='': A=int(x.split(' ')[0]) B=int(x.split(' ')[1]) print(A+B) else: break 실제로 코드를 실행하고 input을 넣으면 제대로 출력이 되긴 합니다. 하지만 EOFerror는 End of File error의 약자인데 제 코드를 보면 while이 계속 도는 상황에서 입력이 끝났음을 알리는 부분에 대한 처리가 enter를 한 번 더 눌러야만 하는데 이게 잘못된 것 같습니다. 그래서 EOF error라고 구글에게 물어보았어요 Try Exce.. 2022. 2. 15.
[알고리즘] https://plzrun.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4PS-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0 알고리즘 문제풀이(PS) 시작하기 이런건 고수들이나 써야 하지 않나 싶지만, 그래도 1년정도 공부하면서 이 분야를 어떻게 시작해야 할지 써보려 한다. 라고 운을 뗀다음 열심히 내 얘기만 했던 후속편이다. 내 인생사가 궁금하 plzrun.tistory.com 스터디원 분의 추천을 받아 알고리즘 공부할때 따라가면 좋은 커리큘럼? 을 소개해준 블로그를 알게됐습니다. 이렇게 출처를 여쭈지 않고 글을 올려도 되는지는 모르겠습니다만 일단 해당 블로그에서 소개.. 2022. 2. 14.
[Grad-CAM] How? ; Section 3.2 Grad-CAM이 class-discriminative 하고 그 class에 연관된 image regions을 알려주지만, fine grained detail (pixel 공간의 gradient 시각화)을 highlight 해 주는 역할은 할 수 없습니다. Guided Backpropagation은 이미지에 대한 gradient들을 시각화해 줍니다. 직관적으로, Guided Backpropagation은 neuron들에 의해 찾아진 pixel들을 capture 하는 것을 목적으로 합니다. 위 그림을 보시면 아시겠지만 Grad-CAM이 해당 이미지에서 cat부분을 찾아 준것을 알 수 있습니다. 하지만 해당 heat map이 왜 네트워크(모델)가 이것을 tiger cat이라고 예측했는지는 정확하게 알 수 없.. 2022. 2. 8.
[Grad-CAM] How? ; Section 3.1 Grad-CAM generalizes CAM => Grad-CAM 이 CAM을 커버할 수 있다 로 이해하시면 무리 없습니다. paper에서 Grad-CAM이 CAM을 generalize 한다는 formal 한 증명을 준다고 하니 한번 자세히 들여다봅시다. 우선 CAM의 논리가 무엇인지 자세히 들여다보겠습니다. CAM은 Global Average Pooling 와 Softmax 두 개의 layer가 직접적으로 연결돼있는 CNN모델에서만 loclization map을 얻을 수 있습니다. 자세히 적으면, 뒤에서 두 번째 layer가 K개의 feature maps를 생성한다면, \( A^k \in \mathbb {R}^{u \times v}\), 이 feature maps들에 index \( i, j \)를 .. 2022. 2. 8.
[Grad-CAM] How? ; Section 3 detail \(L_{Grad-CAM}^c =\frac{1}{I\times J} ReLU(\sum\limits_{k=0}^{K-1} \sum\limits_{i=0}^{I-1}\sum\limits_{j=0}^{J-1} \frac {\partial y^c}{\partial A_{i, j}^k} A^k) \) 식을 이제 더 자세하게 파봅시다. 우선 \( L_{Grad-CAM}^c\) 의 사이즈는 \( A^k\)의 사이즈와 동일하다고 합니다. 그렇다면 우리가 확인해야할 부분은 \( \frac {\partial y^c}{\partial A_{i, j}^k} A^k \) 입니다. \( \frac {\partial y^c}{\partial A_{i, j}^k} A^k \) 이 계산 결과 값이 \(A^k\)와 크기가 동일하다는 얘.. 2022. 1. 26.
[Big Summation tex] 큰 시그마 기호 \(\sum_{i=0}^{I-1} \) 요런 기호를 썼을 때 옆으로 붙으면 참 안 예쁘죠?! \sum_{i=0}^{I-1} 요 tex에 limts를 추가해주면 예쁘게 다음과같이 쓸 수 있습니다. 요렇게 말이죠 ! \sum\limits_{i=0}^{I-1} \(\sum\limits_{i=0}^{I-1} \) 이쁘져? 2022. 1. 25.
[Grad-CAM] How? ; Section 3 Section 3. Grad-CAM Convolutional layers은 spatial 한 information 즉 feature map을 얻는데 이는 fully-connected layer에서 없어집니다. 이는 곧 convolutional layer의 결과가 object parts의 정보를 제공한다는 의미로 해석될 수 있습니다. Grad-CAM는 각각의 neuron이 particular decision of interest에 importance values를 assign 하기 위해 CNN의 마지막 convolutional layer로 흘러들어오는 gradient information을 사용합니다. 자! 글쓴이가 원하는 바가 소개됐네요. CNN의 마지막 convolutional layer에서 계산되는 .. 2022. 1. 24.
[Grad-Cam] What? ; Section 1, 2 https://arxiv.org/pdf/1610.02391.pdf Grad-Cam이 소개된 논문입니다. 제목은 Grad-CAM : Visual Explanations from Deep Networks via Gradient-based Localization 입니다. 참 명료하고 매력적인? 제목인것 같습니다! 제목만 보고도 무슨 내용인지 알 것 같은 동시에 확 궁금해지는 그런~ 제목에서 부터 알수있다 싶이 목적은 CNN의 시각적 설명입니다. 이를 통해 CNN 모델이 transparent and explainable해진다고 설명하네요 (XAI에서 사용되는 jargon입니다.) 지난번 포스팅에서 언급드렸다 싶이 CAM의 개념을 활용하고싶을때 Global Average Pooling layer가 필요했었는데, .. 2022. 1. 24.