<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>kite_day.log</title>
        <link>https://velog.io/</link>
        <description>공부</description>
        <lastBuildDate>Wed, 14 Jan 2026 08:14:07 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. kite_day.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/kite_day" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[바이브 코딩으로 앱만들기]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%94%EC%9D%B4%EB%B8%8C-%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C-%EC%95%B1%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@kite_day/%EB%B0%94%EC%9D%B4%EB%B8%8C-%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C-%EC%95%B1%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Wed, 14 Jan 2026 08:14:07 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/kite_day/post/24702ac4-3f2d-44e7-b954-bf6626d0a7cc/image.png" alt=""></p>
<p><strong>완성된 앱은 하단 링크를 통해 다운받을 수 있습니다.</strong>
<a href="https://apps.apple.com/us/app/star-clear/id6757729574">https://apps.apple.com/us/app/star-clear/id6757729574</a></p>
<ul>
<li>노란별 +10점 파란별 -20점 폭탄 목숨-1</li>
</ul>
<hr>
<p>새해에 개인 프로젝트로 바이브 코딩에 도전해보았습니다.
바이브 코딩에는 관심이 있었는데 가장 접근하기 쉬운 코파일럿이나 AI 채팅 서비스와 대화를 통해 코드를 수정하는 것을 넘어 전 프로젝트가 바이브 코딩을 주로 했으면 좋겠다는 생각이 들었어요.
그러면서 뭘 만들어볼까 고민하다가 몇 가지 기준이 만들어졌는데요,</p>
<ol>
<li>평소에 안하던 개발 분야</li>
<li>비개발자가 입문하는 것보다는 난이도가 높길 바람</li>
<li>웹 페이지 제외 (이미 해봄 + 개인 활용도가 낮음.)</li>
</ol>
<p>3가지 기준을 맞추고 나니 앱을 만들어야겠다는 생각이 들었습니다. 저는 주 언어가 Python으로만 대부분 개발을 해와서 React나 TypeScript, Swift 등에 대해 궁금증이 있었거든요.</p>
<p>자세한 개발 과정은 하단의 블로그에서 확인할 수 있습니다.
<a href="https://kiteday.tistory.com/87">https://kiteday.tistory.com/87</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[결산과 피할 수 없는 1일]]></title>
            <link>https://velog.io/@kite_day/%EA%B2%B0%EC%82%B0%EA%B3%BC-%ED%94%BC%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-1%EC%9D%BC</link>
            <guid>https://velog.io/@kite_day/%EA%B2%B0%EC%82%B0%EA%B3%BC-%ED%94%BC%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-1%EC%9D%BC</guid>
            <pubDate>Tue, 06 Jan 2026 13:21:56 GMT</pubDate>
            <description><![CDATA[<p>긴 글이 될 수도 있을 것 같다.
남들이 서로 앞다퉈 신년 계획과 목표를 짜는 동안 나는 그런 것들을 짜고 싶지 않다는 생각을 했다. 다만 새해가 되어서야 한 해를 글로 적어내릴 결심을 했을 뿐이다. 25년에 정리한 생각들을 나누어보고자 한다.</p>
<p>25년 2월 드디어 대학원을 졸업함으로 나는 완벽한 무소속 상태가 되었다. 더 나은 기회와 호기심으로 대학원에 갔지만 격동의 시대에 AI를 연구한다는 것은 혼란의 연속이었다. 끝도 없이 새로운 것이 나와서 그걸 따라가는 것도 벅찬데 정부의 연구비 삭감으로 연구비가 하루 아침에 0원이 되어 갑자기 생활을 위해 돈을 벌어야 하는 상황에까지 놓였다. 연구에서 느낀 것은 천재는 많고 나는 아무것도 모른다는 것이다. 목표하는 학회에 논문을 내겠다고 죽자고 덤벼들었지만 완벽한 실패를 맛보고서 처음으로 완벽주의를 내려놓고 완료주의를 살아야겠다고 생각했다. 동시에 이제는 달리기를 멈추고 정비할 타이밍이 왔음을 직감했다.
작년은 내가 나에게 주는 갭이어였다. “그냥 조금 쉬고나서 취업 준비하려고요” 라는 말을 많이 했지만 누구에게도 내가 의도적인 갭이어를 가지리라고 말하지 않았기 때문에 여기서부터 시작하려고 한다. 사실 나의 계획은 올해를 통으로 버리는 것이었다. 버린다고 표현하니 비 생산적으로 들리지만, 사실은 내가 가진 유한한 에너지를 연구와 같은 학문이 아닌 다른 여러 갈래로 틀어보고 싶다는 말이었다. 나는 처음에는 식품영양에서 시작해 미대와 인공지능 전공 석사까지 분야는 넘나 들었지만 줄곧 학문에 매몰되어있었고, 그 결정의 큰 원인 중 하나는 불안이었다. 나에게는 무소속 상태에 대한 막역한 불안이 늘 자리매김 했다. 불안은 늘 어떠한 미래 결정에 큰 영향을 미쳤기 때문에 어느 순간부터는 내게 직시하는 눈을 흐리게 하는 기분이었다. 그러나 그걸 계속 지속하기에 증명해내기 위한 싸움에서 너무나 지쳐버렸다. 가장 중요한 것은 이 유한한 자원을 통해 어떤 경험을 만들어서 나의 판단력을 흐려지게 만드는 불안으로부터 더 큰 자유를 얻는 것이었다.
전반부에는 할 일이 많이 있었다. 영상 편집도 하고, 여행도 가고, 친구들도 많이 만나면서 매일 충분한 잠과 압박없는 환경에서 행복감을 느꼈다. 심지어는 서비스직 알바조차 재미있었다. 학생 때 줄곧 사무직 업무만 해봤기 때문에 사람을 상대하는 서비스직이 신선하게 느껴졌다. 하지만 어떤 균열이 생기는 것은 그것들을 거의 다 헤치우고 나서 부터이다. 그 때부턴 내게는 내일에 대한 고민을 다시 시작해야만 했다. 꼭 해야지 하는 것들은 이미 다했고, 딱히 새로이 하고 싶은 공부나 직업은 당장에 없어 결국 취업을 하기로 했다. 한 해를 통으로 보내기엔 나는 너무 유약하고 내 불안은 생각보다 컸기 때문에 갭하프이어에서 만족하기로 했다. 평생 직장도 평생 직업도 없다는 걸 알지만 일단은 전공을 살린 일자리가 필요했다.
취업이 어렵다고 말만 들었지 정말 이 전선에 나와본 건 최초였다. 나는 여러 프로젝트 경험, SCI 해외 논문 및 국내 논문 다수, TA 및 튜터로 강의를 맡아본 경험이 있었지만 서류 통과조차 쉽지 않았다. 일단 내 분야를 원하는 직무 자체를 찾기 어려웠다. 어쩌다가 서류가 통과하더라도 과제 테스트와 코팅 테스트 앞에서 석사 학위는 무용지물이었다. 그렇게 몇 달을 써버리고 나니까 직업을 얻는 것 이외에 쓸일 없는 것들에 시간을 많이 쓰고 있는 자신에게 화가 났다. 왜 나는 직업을 찾을 수 없을까? 그래서 그냥 화를 내기 보다 인과관계를 알고싶어 이에 대한 이유를 찾기로 했다.
크게 두 가지가 문제가 된다. 바로 인플레이션과 AI 때문이다.</p>
<p>...(중략) ...</p>
<p>일을 시작하기에는 외적동기도 당연히 필요하지만 그 일을 지속적으로 하기 위해서는 내적동기가 무엇보다 중요한 사람임을 알게 되었다. 이 사실을 말로 정리한 날 나는 머리를 한대 맞은 듯한 큰 발견을 한 기분이었다. 거의 십년 이상을 고민하던 것에 실마리를 찾은 것 같았다. 이 기준 하나로 그간 타성에 젖은 듯한 문장도 설명되지 않던 나의 중구난방같은 관심들도 모두 내 안에서 정리해 줄 세울 수 있게 되었기 때문이다. 아무튼 본론으로 다시 돌아와 정리해보자. 일에서 얻고 싶은 것이 몰입감이라면 일을 지속할 수 있는 것은 내적동기이고 몰입과 내적동기가 큰 것의 공통점은 단 하나였다. 이 일에게 대체 불가능한 재미(쾌)가 있는가? 어떤 것에 절대적으로 즐겁기만 한 일은 없다. 다만 불쾌를 상쇄할 절대적인 쾌의 권력이 있다면 그게 아무리 고통스럽고 힘이 들어도 나는 멈추지 않는다. 이 기준은 사실 일 뿐만 아니라 나의 모든 기준적 잣대라고 해도 손색이 없는 문장이다. 올해도 책임과 재미 그 어느 경계속에서 살아가보려 한다. 새해 첫 날 이것저것보다 읽은 인상 깊은 문장이 있다. 그 문장으로 이 글을 마무리하고 싶다. 과거도 미래도 다 현재를 위한 것이다.</p>
<p><strong>전문은 kiteday 서브스택(하단 링크)을 통해 확인할 수 있습니다!</strong></p>
<p><a href="https://open.substack.com/pub/kiteday/p/1?utm_campaign=post-expanded-share&amp;utm_medium=web">https://open.substack.com/pub/kiteday/p/1?utm_campaign=post-expanded-share&amp;utm_medium=web</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-12-02]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-12-02</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-12-02</guid>
            <pubDate>Tue, 02 Dec 2025 01:15:44 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p><a href="https://arxiv.org/pdf/2511.21691">Canvas-to-Image: Compositional Image Generation with Multimodal Controls</a>
  <img src="https://velog.velcdn.com/images/kite_day/post/6d1dafdd-704a-4c7f-aafa-374ee8b4f958/image.png" alt=""></p>
<p>  큰 구조는 각 canvas에 대해 (Spatial, Pose, Box) supervision으로 학습하여 inference에서 canvas만 주면 이미지를 생성하도록 한다. 어떻게 보면 아이디어는 간단할 지 모르나 결과물이 놀랍다. Multi-task training이 쉽지 않을 것 같다. 이 논문을 훝으며 MM-DiT가 이미지를 되게 잘뽑네 하는 생각을 했다.</p>
</li>
<li><p><a href="https://kululumi.github.io/PRFL/">Video Generation Models Are Good Latent Reward Models</a>
  <img src="https://velog.velcdn.com/images/kite_day/post/bab101c9-6e15-4d5b-a558-c251868e5df9/image.png" alt=""></p>
<p>  기존의 ReFL은 리워드를(RLHF) 완성된 이미지를 보고 주기 때문에 디퓨전 후반에만 관여할 수 있었다. 해당 모델은 latent 단계에서 이를 주어 정확도를 높이는 전략을 취한다고 한다. 일단 리워드를 기존에 주는 방법은 다음과 같다.</p>
<p>  <img src="https://velog.velcdn.com/images/kite_day/post/c03cc7d1-8247-4478-a926-0c1a8b078477/image.png" alt=""></p>
<p>  바로 생성된 결과물에 $x_0$을 VAE 디코더에 넣어 확인하는 것이다. 이에 반해 latent 단계에서 주는 것은 전반적인 수식은 동일하나 x의 입력이 달라진다.</p>
<p>  <img src="https://velog.velcdn.com/images/kite_day/post/a7894ff0-7aac-41ce-b8d4-9608bbc12311/image.png" alt=""></p>
<p>  이처럼 latent vecter를 가지고 리워드를 주는 것이다.</p>
<p>  <img src="https://velog.velcdn.com/images/kite_day/post/93c4122f-a568-4e44-a32f-6731068339c7/image.png" alt=""></p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-11-14]]></title>
            <link>https://velog.io/@kite_day/Daily-report-1dccmwlc</link>
            <guid>https://velog.io/@kite_day/Daily-report-1dccmwlc</guid>
            <pubDate>Fri, 14 Nov 2025 12:10:04 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p><a href="https://time-to-move.github.io/">Time-to-Move: Training-Free Motion Controlled Video Generation via Dual-Clock Denoising</a>
  Nvidia 논문. 결과물을 보고 육성으로 &quot;미친 거 아니야?&quot;라고 했다. 왜냐면 training free라고 해서.. 주목할 점은 저자진이 이스라엘쪽이라는 것이다. 중국인이 한 명도 없는 논문? 귀하다. 간단하게 읽어보니까 예전에 리뷰했던 논문인 SDEdit 모델을 응용해서 만든 것 같다. 이렇게도 되는구나 사고할 수 있게 한 논문이었다.</p>
</li>
<li><p><a href="https://wm-po.github.io/">WMPO: World Model-based Policy Optimization for Vision-Language-Action Models</a>
  <img src="https://velog.velcdn.com/images/kite_day/post/04b87993-630e-489e-8985-bc5ebab4a771/image.png" alt=""></p>
<p>  (a) 기존의 VLA(Vision-Language-Actions) 방식은 사람이 직접 모든 걸 관장하기 때문에 Learn From Failures, Self-collection에서 어려움이 있다.(그러니까 reward-action 모델 자체가 설계되지 않은 사람이 모든 걸 관장하는 시스템을 의미한다.) (b) Real-world RL은 reward-action으로 학습이 되지만 on policy를 설계하기에 비용이 매우 높은 한계가 있다. 그래서 제안한 모델은 VLA 환경에서 비용은 낮추면서 on policy 모델이 되는 World model을 제안하는 것이다.
  <img src="https://velog.velcdn.com/images/kite_day/post/89289cf2-59e7-487f-a069-d306fe90b399/image.png" alt=""></p>
<p>  이미지를 이용해 image trajectory들을 만들고 이를 가지고 world model에서 action을 통해 image trajectory를 만드는 policy를 업데이트 한다. 동시에 world model에서 사용된 trajectory들을 sampling하여 policy model의 입력으로 주어 policy업데이트에 함께 일조한다. 
  뭔가 무한동력 기관열차를 보는 기분. 이론되로라면 Language 모델을 붙여 다양한 Language 샘플을 만들어 오버피팅을 피하고, 반복해서 업데이트 할수도 있을 것 같다.</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-11-12]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-11-12</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-11-12</guid>
            <pubDate>Wed, 12 Nov 2025 05:16:27 GMT</pubDate>
            <description><![CDATA[<ul>
<li><a href="https://arxiv.org/pdf/2511.07416">Robot Learning from a Physical World Model</a>
  비디오를 따라 zero-shot으로 로봇의 움직임을 만드는 연구. 기존의 비디오 관련 로봇 연구는 많은 데이터가 필요하거나 사람의 개입이 필수적이었는데 이를 최소화하여 zero-shot으로 완성했다고 한다. 그럴 수 있는 핵심 아이디어는 object-centric residual reinforcement learning. 메소드를 보니 RGB-D (depth까지 4차원을 의미)를 입력으로 받고 이를 point cloud로 추격해 reconstruct하는 방식이다. 이를 object-centric residual RL(robust한 policy 대신 grasping and planning attempts를 반복해 baseline actions that narrow the search space를 가능하게 한다는데 그래서 학습에 시간이 아주 많이 들었다고 했다. 자세한 수식은 논문 참조!)로 시뮬레이션 후 real-world에서도 진행하여 정확도를 높였다. 
  <img src="https://velog.velcdn.com/images/kite_day/post/6b47aab4-aebb-4252-89d3-a1a01a788e69/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-11-03]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-11-03</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-11-03</guid>
            <pubDate>Tue, 04 Nov 2025 02:58:09 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p><a href="https://thinkmorph.github.io/">★ThinkMorph:Emergent Properties in Multimodal Interleaved Chain-of-Thought Reasoning</a>
  텍스트와 이미지의 chain of thought을 합쳐서 보는 것이 아닌 상호 보완적으로 보는 것이 핵심. Question(text) - Image - Ansewer(text) 간의 loss를 계산해 chain of thought를 처리한다.
  <img src="https://velog.velcdn.com/images/kite_day/post/c8bbea86-d866-4b6f-a6c8-7520c1c7bed2/image.png" alt=""></p>
</li>
<li><p><a href="https://www.arxiv.org/pdf/2510.23473">Video-Thinker: Sparking &quot;Thinking with Videos&quot; via Reinforcement Learning</a>
  MLLM이 이미지에 대한 설명은 잘 하지만 아직 비디오에 대한 설명은 완벽하지 않다. 그래서 논문에서 제시한 방법은 grounding + captioning 방식. 초를 멈추고 해당 내용에 대해 스스로 질의응답을 하며 답을 강화시켜간다. 좀 사람 같은 방식이라 느꼈다.
<img src="https://velog.velcdn.com/images/kite_day/post/04f34ba8-078e-4020-9452-127029efc6a1/image.png" alt=""></p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-10-20]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-10-20</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-10-20</guid>
            <pubDate>Mon, 20 Oct 2025 03:34:26 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p><a href="https://doby-xu.github.io/WithAnyone/">WithAnyone: Towards Controllable and ID-Consistent Image Generation</a>
모델 자체엔 엄청 특이하거나 특별하게 느껴지는 새로운 구조는 없다. 다만 데이터셋 수집 방법이나, 이걸 진짜 다? 싶을 정도로 짜임새가 좋다. 뭔가 상상만 하던 걸 실현한 모델 같다. Face recognition으로 인물별 ID를 잘 구분했는지 확인하고, Retrival로 인물을 검색하여 reconstruction으로 완성. huggingface 데모, 깃헙 등 완성도가 높다.</p>
</li>
<li><p><a href="https://arxiv.org/pdf/2510.14847">ImagerySearch: Adaptive Test-Time Search for
Video Generation Beyond Semantic Dependency Constraints</a>
T2V 모델로 normal distance semantic 뿐 아니라 long semantic인 prompt에 대해서도 잘 작동한다고 한다. 특히 time scaling method가 아니라 context-aware method라서 자연스럽게 생성된다고 한다. 내가 관심있게 본 부분은 LDT 평가 메트릭이다. prompt를 무진장 만들고 끝나는 것이 아니라 이걸 LLM과 human이 둘 다 검사해서 통과한 것만 사용한다. 이후 imageQA로 평가를 완료한다.</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 1149-RGB거리]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1149-RGB%EA%B1%B0%EB%A6%AC</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1149-RGB%EA%B1%B0%EB%A6%AC</guid>
            <pubDate>Tue, 26 Aug 2025 07:04:17 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/1149">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/91b65b1f-3c58-4a17-925c-d86e5f153753/image.png" alt=""></p>
<pre><code class="language-python">import sys

nums = int(sys.stdin.readline())
house = [list(map(int, sys.stdin.readline().split())) for _ in range(nums)]
# print(house)
dp = [[False]*3 for _ in range(nums)] # 각각 i에서  RGB를 선택했을 때 가지는 최소 값
dp[0] = house[0]
# print(dp)

for i in range(1, nums):
    for c in range(3): # 0:R, 1:G, 2:B
        color = [0, 1, 2]
        color.remove(c)
        dp[i][c] = min(dp[i-1][color[0]], dp[i-1][color[1]]) + house[i][c]

print(min(dp[-1]))</code></pre>
<p>i번째 위치에 있을 때, 각각 R G B을 선택했을 때의 최소값을 계산하면 모든 경우의 수를 확인할 수 있다. 이후 마지막 row의 최소값이 정답이 된다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 1753-최단경로]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1753-%EC%B5%9C%EB%8B%A8%EA%B2%BD%EB%A1%9C</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1753-%EC%B5%9C%EB%8B%A8%EA%B2%BD%EB%A1%9C</guid>
            <pubDate>Tue, 26 Aug 2025 03:30:55 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/1753">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/de0c2b78-1d83-4444-b7b7-8ab5237e807c/image.png" alt=""></p>
<p>완벽히 다엑스트라 구현 문제이다. </p>
<pre><code class="language-python">import sys
sys.setrecursionlimit(10**6)

v, e = map(int, sys.stdin.readline().split())
k = int(sys.stdin.readline())
min_path = [&#39;inf&#39;]*(v+1)
edge = [[False]*(v+1) for _ in range(v+1)]

for _ in range(e):
    u, ev, w = map(int, sys.stdin.readline().split())
    edge[u][ev] = w

def search(node):
    if min_path[node] == &#39;inf&#39;:
        min_path[node] = 0
    next_node = []

    for n in range(v+1):
        if edge[node][n]:
            if min_path[n] == &#39;inf&#39;:
                min_path[n] = min_path[node] + edge[node][n]
                next_node.append([edge[node][n], n])
            else:
                min_path[n] = min(min_path[n], min_path[node]+edge[node][n])

    if next_node:
        next_node.sort()
        search(next_node[0][1])

min_path[k] = 0
search(k)

for i in range(k, v+1):
    print(min_path[i])</code></pre>
<p>처음에 구현한 코드는 잘 돌아가지만, 인접리스트로 구현했기 때문에 메모리 초과를 피할 수 없었다. 왜냐하면 v가 커질수록 더 많은 메모리가 필요한데 최대 v는 20000이므로 10^8을 수용할 수 있는 메모리가 필요하다. 굉장히 비효율적이다. 결국 우선순위 큐로 다시 코드를 짰다.</p>
<pre><code class="language-python">import heapq
import sys
sys.setrecursionlimit(10**6)

INF = int(1e9)

V, E = map(int, sys.stdin.readline().split())
K = int(sys.stdin.readline())
min_path = [INF]*(V+1)
edge = [[] for _ in range(V+1)]

for _ in range(E):
    u, v, w = map(int, sys.stdin.readline().split())
    edge[u].append((v, w))

def dijkstra(start):
    q = []
    heapq.heappush(q, (0, start))
    min_path[start] = 0

    while q:
        cur_dis, cur_node = heapq.heappop(q)
        if min_path[cur_node] &lt; cur_dis:
            continue

        for node, dis in edge[cur_node]:
            if cur_dis + dis &lt; min_path[node]:
                min_path[node] = cur_dis + dis
                heapq.heappush(q, (cur_dis + dis, node))

dijkstra(K)
for i in range(1, V+1):
    print(min_path[i] if min_path[i] != INF else &quot;INF&quot;)
</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 10026-적록색맹]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-10026-%EC%A0%81%EB%A1%9D%EC%83%89%EB%A7%B9</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-10026-%EC%A0%81%EB%A1%9D%EC%83%89%EB%A7%B9</guid>
            <pubDate>Mon, 25 Aug 2025 12:38:53 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/kite_day/post/4ca96d4a-30b9-43f7-b2d4-e20f63fe4255/image.png" alt="">
<a href="https://www.acmicpc.net/problem/10026">문제바로가기</a></p>
<p>2178과 2160을 섞은 문제다.</p>
<pre><code class="language-python">from collections import deque

import sys
sys.setrecursionlimit(10**6)

dx = [1, -1, 0, 0]
dy = [0, 0, 1, -1]

n = int(sys.stdin.readline())
count = 0
blind_count = 0
color = []
for _ in range(n):
    c = list(map(str, sys.stdin.readline()))
    color.append(c[:-1])

blind_color = [[(&#39;R&#39; if cell == &#39;G&#39; else cell) for cell in row] for row in color]

visited = [[False]*(n) for _ in range(n)]

def bfs(r, c, my_color):
    # global last_r, last_c
    q = deque()
    q.append((r, c))

    while q:
        cur_r, cur_c = q.popleft()
        visited[cur_r][cur_c] = True
        for idx in range(4):
            nr = cur_r + dx[idx]
            nc = cur_c + dy[idx]

            if (0&lt;= nr &lt;n) and (0&lt;= nc &lt; n) and my_color[nr][nc] == my_color[cur_r][cur_c] and not visited[nr][nc]:
                visited[nr][nc] = True
                q.append((nr, nc))


for i in range(0, n):
    for j in range(0, n):
        if visited[i][j] == False:
            bfs(i, j, color)
            count += 1

visited = [[False]*(n) for _ in range(n)]
for i in range(0, n):
    for j in range(0, n):
        if visited[i][j] == False:
            bfs(i, j, blind_color)
            blind_count += 1
print(count, blind_count, end=&quot; &quot;)</code></pre>
<p>핵심은 사방의 (좌우상하) 값을 보고 같은 지 비교해야 하는 것이다. 처음에 이중포문 없이 구현하겠다고 last_r, last_c를 선언하여 끝나는 지점의 인덱스를 저장하고 한칸 이동하여 다시 search를 했더니 예제의 GG 같은 부분은 책정되지 않았다. (당연함. R -&gt; B를 하고나면 끝나는 지점의 인덱스가 3, 0이기 때문이다.) 그래서 결국 이중포문으로 풀었다. 나는 BFS로 풀었지만 DFS로도 풀 수 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 2606-바이러스]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2606-%EB%B0%94%EC%9D%B4%EB%9F%AC%EC%8A%A4</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2606-%EB%B0%94%EC%9D%B4%EB%9F%AC%EC%8A%A4</guid>
            <pubDate>Mon, 25 Aug 2025 09:37:41 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/2606">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/0b6f40a5-034a-45ed-a00f-b2e2c1c974d4/image.png" alt=""></p>
<p>1번 컴퓨터에 연결된 모든 컴퓨터의 개수를 세는 문제로 bfs나 dfs를 구현하는 문제이다. 나는 평소에 dfs로 문제풀이를 많이 하기 때문에 이번엔 bfs로 코드를 짜보았다.</p>
<pre><code class="language-python">from collections import deque
import sys

sys.setrecursionlimit(10**6)

computer = int(sys.stdin.readline())
n_pair = int(sys.stdin.readline())

edge = [[False]*(computer+1) for _ in range(computer+1)]
for _ in range(n_pair):
    i, j = map(int, sys.stdin.readline().split())
    edge[i][j] = True
    edge[j][i] = True

visited = [False]*(computer+1)
count = 0
def bfs(n):
    global count
    q = deque([n])
    visited[n] = True

    while q:
        cur = q.popleft()
        # print(cur)
        count += 1
        for num in range(1, computer+1):
            if edge[cur][num] == True and not visited[num]:
                q.append(num)
                visited[num] = True

bfs(1)       
print(count-1)</code></pre>
<p>마지막에 count-1을 해주는 이유는 1번 컴퓨터도 개수 집계가 되기 때문이다. 변수를 헷갈리지 않게 유의하며 풀어주도록 하자.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 15655-N과 M(6)]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-15655-N%EA%B3%BC-M6</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-15655-N%EA%B3%BC-M6</guid>
            <pubDate>Thu, 21 Aug 2025 03:21:10 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/15655">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/7d6ba4f5-c006-428e-9695-a0591ad7b6a4/image.png" alt=""></p>
<pre><code class="language-python">import sys
sys.setrecursionlimit(10**5)

N, M = map(int, sys.stdin.readline().split())
numbers = sorted(list(map(int, sys.stdin.readline().split())))

nums=[]
def back(start):
    if len(nums) == M:
        print(*nums)

    for i in range(start, N):
        nums.append(numbers[i])
        back(i+1)
        nums.pop()

back(0)</code></pre>
<p>여기서 주의해야할 점은 print(*nums) 부분이었다. 출력양식이 대괄호 [] 없이 숫자만 띄어쓰기로 구분해서 출력해야함!
이 문제도 역시 N과 M 시리즈를 풀었다면 쉽게 금방 풀 수 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 1882-부분수열의 합]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1882-%EB%B6%80%EB%B6%84%EC%88%98%EC%97%B4%EC%9D%98-%ED%95%A9</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1882-%EB%B6%80%EB%B6%84%EC%88%98%EC%97%B4%EC%9D%98-%ED%95%A9</guid>
            <pubDate>Thu, 21 Aug 2025 03:11:15 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/1182">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/d3549c58-a4d0-49e2-ae54-3dda08f79952/image.png" alt=""></p>
<pre><code class="language-python">import sys
sys.setrecursionlimit(10**6)

N, S = map(int, sys.stdin.readline().split())
numbers = list(map(int, sys.stdin.readline().split()))

count = 0
combi = []

def back(n):
    global count
    if sum(combi) == S and len(combi)&gt;0:
        # print(combi)
        count += 1

    for num in range(n, N):
        combi.append(numbers[num])
        back(num+1)
        # print(combi)
        combi.pop()
back(0)
print(count)</code></pre>
<p>N과 M 문제 시리즈의 변형 같은 문제.
단지 멈추는 조건이 조합의 합이 S가 될 때로 바뀐 것 뿐이다. 한가지 간과한 것은 s가 0일 때 combi가 []인 경우도 포함되어서 count가 올라갔었다. 그래서 추가로 combi에 무조건 값이 있어야 한다는 조항을 추가했다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 2457-공주님의 정원]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2457-%EA%B3%B5%EC%A3%BC%EB%8B%98%EC%9D%98-%EC%A0%95%EC%9B%90</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2457-%EA%B3%B5%EC%A3%BC%EB%8B%98%EC%9D%98-%EC%A0%95%EC%9B%90</guid>
            <pubDate>Wed, 20 Aug 2025 14:58:56 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/2457">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/1b2da8e5-cddc-45c5-a28f-ebea19bc08e8/image.png" alt=""></p>
<pre><code class="language-python">n = int(input())
date = []

for _ in range(n):
    f = list(map(int, input().split()))
    date.append(f)
date.sort()
start_date = [3, 1]
end_date = [11, 31]
flowers = 0

while(start_date&lt;end_date):
    candidate = [n for n in date if n[0]&lt;start_date[0] or (n[0]==start_date[0] and n[1]&lt;=start_date[1])]
    # print(candidate)
    if not candidate:
        print(0)
        exit()

    e_day = [3,1]
    day = list()

    for c in candidate:
        if c[2:]&gt;e_day:
            e_day = c[2:]
            day = c
    start_date = e_day
    # print(day)
    date.remove(day)
    flowers += 1

print(flowers)</code></pre>
<p>이 문제의 핵심은 기준 날짜보다(초기값 3월1일) 앞서서 피는 꽃을 찾아야 하고, 그 꽃들 중에서 가장 오래 피어있는 꽃을 선택해야한다. 그리고 선택된 꽃이 지는 날이 다시 기준 날짜가 된다는 것이다. 이 아이디어만 생각하면 구현은 금방한다.<br>마지막으로 만약 그 어떤 꽃도 선택할 수 없을 땐 0을 출력하고 코드를 끝내면 되는 조건을 추가한다.</p>
<p>리스트로 뭔가를 하는게 익숙해서 무작정 리스트로 풀었는데 우선순위 큐 같은 걸로 풀수도 있을 것 같다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-08-20]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-08-20</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-08-20</guid>
            <pubDate>Wed, 20 Aug 2025 11:26:23 GMT</pubDate>
            <description><![CDATA[<ul>
<li><a href="https://arxiv.org/abs/2508.10874">SSRL: SELF-SEARCH REINFORCEMENT LEARNING</a>
  칭화대, 상하이AI랩, 런던대 등 다수의 저자진이 연구했다. 스스로 검색을 통해 (Bing, wikipidia, google 등) policy 모델을 업데이트 한다는 방법을 제시한 연구이다.(퍼포먼스 측정 메트릭 논문임) 가장 첫번째 이미지로 이 방식으로 LLaMA와 Qwen을 연구했을 때의 정확도를 zero-shot, sim2real과 함께 비교하고 있다. 해당 분야는 잘 모르지만, 페이퍼에서 자세히 적어뒀으니(무려39페이지) 연구 흐름을 읽는데 도움될 듯.</li>
<li><a href="https://thyme-vl.github.io/">Thyme: Think Beyond Images</a>
  논문으로 먹고 살기 어렵네.. 라는 생각이 들게 하는 페이퍼다. 모델이 하는 일은 일단 이미지로부터 정보 분석하기(텍스트 질문에 텍스트 대답)와 텍스트로 내린 명령에(예: 크롭) 대해 결과이미지반환+(결과 이미지를 얻기위한)코드짜주기를 해준다. 한번만 더 생각해보면 OpenAI의 모델이 제일 잘하는게 파이썬이니까 이미지만 아주 잘 분석할 수 있다면, 코드를 짜는 건 큰 문제가 아닐거란 생각이 든다. 해주는 역할은 크롭, 줌, 이미지 뭘리티향상(SR은 아니고 contrast enhancement라고 되어있으니 아주 간단한 흑백으로 된 글자정도 가능할 듯), 수식풀기(이미지로 문제 제시)이다. fail case에서 볼 수 있듯이 완벽하진 않다.</li>
<li><a href="https://kwanyun.github.io/stylemm_page/">StyleMM: Stylized 3D Morphable Face Model via Text-Driven Aligned Image Translation</a>
  카이스트에서 Pacific Grapics 2025에 낸 논문이다. 3DMM으로 영상 속 인물의 얼굴 움직임을 따와서 그대로 다른 마스크의 움직임으로 변화시키는 논문으로 real mesh와 texture로 stylization한 결과와 3DMM 방식으로 stylization한 결과를 합쳐서 loss를 계산하는 방법으로 학습한다. 개인적으로 논문의 짜임새와 방법 등이 과장하지 않고 쌓은.. 정석적으로 느껴진다. 이런 논문을 보면서 개인적으로 느끼는 것은 아무리 새롭고 신기한게 많아도 정석 방식의 논문은 영원한 클래식이라는 것이다. 멋지다. 조금 더 이 분야에 대해 알고싶다.</li>
<li><a href="https://arxiv.org/pdf/2508.11616">Controlling Multimodal LLMs via Reward-guided Decoding</a>
  MLLM을 제어하기 위한 대중적인 방법으로는 Prompting, SFT(supervised fine-tuning), RLHF가 있다. 하지만 이 방법은 모두 각각 잘 알려진 단점이 있는데 대표적으로 prompting의 경우 텍스트로 모든 것을 제어해야하기 때문에 쉽지 않다. 그래서 해당 연구에서 저자들은 reward-guided decoding이라는 새로운 방식을 제안한다고 한다. MLLM으로 어떤 지시에 대해서 (예시: 이미지 디테일을 설명해줘!) k개의 대답을 받은 뒤, 이를 evaluation한 결과를 linear combination해서 최종 평가를 하는 방법이다. 생각보다 단순한데 이런 리워드 모델이 정말로 논문처럼 잘 될지는 직접 돌려봐야할 일이다. </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 1715-카드정렬하기]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1715-%EC%B9%B4%EB%93%9C%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1715-%EC%B9%B4%EB%93%9C%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0</guid>
            <pubDate>Wed, 20 Aug 2025 04:13:13 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/1715">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/3c9fb8d7-60a0-40d1-8dae-289ab9caeb3a/image.png" alt=""></p>
<pre><code class="language-python">import heapq

n = int(input())
card = []

for _ in range(n):
    card.append(int(input()))

heapq.heapify(card)
sum_num = 0

while(len(card)&gt;1):
    num = heapq.heappop(card)+heapq.heappop(card)
    sum_num += num
    heapq.heappush(card, num)
print(sum_num)</code></pre>
<p>최종합이 적어지려면 작은수 두개씩을 묶어 더해나가면 된다. 이런 생각으로 처음에는 간단하게 배열을 정렬하고 작은수를 pop하면 두개를 더한 값이 다른 수보다 클테니까 이걸 push해서 반복해나가면 되겠다는 아주 단순한 생각이었는데 항상 두 수를 더한 값이 큰 건 아니란 걸 간과한 것이다. 그래서 결론은 우선순위가 필요하다. 결국 우선순위 큐로 다시 코드를 짰다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 13305-주유소]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-13305-%EC%A3%BC%EC%9C%A0%EC%86%8C</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-13305-%EC%A3%BC%EC%9C%A0%EC%86%8C</guid>
            <pubDate>Tue, 19 Aug 2025 13:59:39 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/13305">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/29a27230-7af4-4e41-a7d8-3bcffc23e83c/image.png" alt=""></p>
<pre><code class="language-python">n = int(input())
dis = list(map(int, input().split())) # 사용기름 2 3 5
city = list(map(int, input().split())) # 기름가격 5 4 9 2

prefix = [0]*(n)

if n&lt;=2:
    print(city[0] * dis[0])
else:
    for c in range(1, n):
        prefix[c] = prefix[c-1] + min(city[:c]) * dis[c-1]

print(prefix[-1])</code></pre>
<p>위 코드는 41점짜리다. 서브테스크 문제라서 n의 크기에 제약이 있으면 점수를 절반만 준다. 위 코드가 시간 복잡도가 큰 이유는 min연산이다. min만보더라도 $O(n)$인데 이걸 for문만큼 반복하기 때문에 총 $$O(n^2)$$만큼의 복잡도를 갖게 된다. min을 아주 조금만 바꿔주면 100점짜리로 바꿀 수 있다.</p>
<pre><code class="language-python">n = int(input())
dis = list(map(int, input().split())) # 사용기름 2 3 5
city = list(map(int, input().split())) # 기름가격 5 4 9 2

prefix = [0]*(n)
min_l = city[0]

if n&lt;=2:
    print(city[0] * dis[0])
else:
    for c in range(1, n):
        min_l = min(min_l, city[c-1])
        prefix[c] = prefix[c-1] + min_l * dis[c-1]

print(prefix[-1])</code></pre>
<p>바로 이렇게 어떤 변수에 이미 최소 기름값을 저장해두고 딱 현재 도시와 비교하면 된다. 두 수를 비교하는 것은 $O(1)$이기 때문에 도시의 크기 n과 연관이 없다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[백준-파이썬] 11399-ATM]]></title>
            <link>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-11399-ATM</link>
            <guid>https://velog.io/@kite_day/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-11399-ATM</guid>
            <pubDate>Tue, 19 Aug 2025 13:13:34 GMT</pubDate>
            <description><![CDATA[<p><a href="https://www.acmicpc.net/problem/11399">문제바로가기</a></p>
<p><img src="https://velog.velcdn.com/images/kite_day/post/0da8555b-b501-474f-95f9-629642bccb2e/image.png" alt=""></p>
<pre><code class="language-python">n = int(input())
p = sorted(list(map(int, input().split())))

time_sum = 0
prefix = 0

for i in p:
    time_sum += i
    prefix += time_sum

print(prefix)</code></pre>
<p>누적합이 적으려면 앞사람의 처리시간이 적어야 한다. (그래야 뒷사람이 오래 안기다리기 때문.) 그래서 작은 순으로 정렬하고 모든 값을 합해주면 끝. 간단하게 완료.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-08-18]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-08-18</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-08-18</guid>
            <pubDate>Mon, 18 Aug 2025 02:18:59 GMT</pubDate>
            <description><![CDATA[<ul>
<li><a href="https://zhijie-group.github.io/Discrete-Diffusion-Forcing/">D2F: Diffusion LLMs Can Do Faster-Than-AR Inference via Discrete Diffusion Forcing</a><br>기존 LLM보다 처리속도를 줄인 모델. 정리를 잘해놓았다. 기존 LLM이 연산 시간이 오래 걸리는 이유는 크게 2가지로 첫 번째는 bidiractional attention을 사용하면서 key-value cable 방식으로 연산하는데 이게 많은 양의 연산량이 필요하다. 두 번째로는 시작부터 현재까지의 denoising을 연산하기 때문이다. 이 모델은 attention을 이전 block만 계산하고, rich text에 대해서만 bidiraction을 계산하는 것으로 바꿔서 시간을 줄였다. A100 8대 12시간만에 학습 완료라고 하니 굉장히 짧은 시간이다.</li>
<li><a href="https://daviddinkevich.github.io/Story2Board/">Story2Board: A Training‑Free Approach for Expressive Storyboard Generation</a><br>모델을 두 단계로 나눠서 학습없이 identity를 유지하는 방법을 제안한다. 첫번째는 Latent Panel Anchoring 패널간의 latent를 공유하여 일관성을 유지한다. 두 번째는 Reciprocal Attention Value Mixing, 현재 토큰과 시각적 요소 (배경 등)를 적절하게 섞어준다. 손가락 같은 디테일이 유지되는 것은 좋은데 이미 두 번째 예시 이미지에서 캐릭터가 일관되게 생성 되지 않아서 방법이 그리 좋은 것 같진 않다. (머리 묶고 푸름) 내가 연구한 모델이랑 비슷한데 일 년 사이 더 업글된 기분</li>
<li><a href="https://arxiv.org/pdf/2508.09987">Echo-4o: Harnessing the Power of GPT-4o Synthetic Images for Improved Image Generation</a><br>벤치마크 논문으로 모델도 모델인데 데이터셋이 중요한 논문이다. 저자들은 GPT-4o부터 합성 방식을 제안한다. 그 이유는 첫 번째, GPT-40가 생성하는 이미지가 real-image를 레퍼 삼아서 생성하므로 이미 데이터가(독특한 개체 등) 충분하기 때문에 multi-reference image generation이 가능하기 때문이고, 두 번째는 real-image의 background에는 이미 많은 노이즈가 있다는 것이다. (학습 대상이 될 정도로 챌린징한 포인트라는 것) 벤치마크 논문은 역시 어렵다.</li>
<li><a href="https://arxiv.org/pdf/2508.10875">A Survey on Diffusion Language Models</a><br>diffusion + llm의 서베이 논문이다. 간단하게 흐름을 파악하기 무척 좋을 듯</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Daily report] 25-08-06]]></title>
            <link>https://velog.io/@kite_day/Daily-report-25-08-06</link>
            <guid>https://velog.io/@kite_day/Daily-report-25-08-06</guid>
            <pubDate>Wed, 06 Aug 2025 09:51:13 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p><a href="https://openaccess.thecvf.com/content/CVPR2025/papers/Liu_Hybrid_Global-Local_Representation_with_Augmented_Spatial_Guidance_for_Zero-Shot_Referring_CVPR_2025_paper.pdf">Hybrid Global-Local Representation with Augmented Spatial Guidance for Zero-Shot Referring Image Segmentation</a>
zero-shot으로 training 없이 segmentation을 하는 모델. CVPR2025 논문으로 특히 RIS(Referring in segmentation, 텍스트로 지정할 영역을 입력으로 주는 방식)부분에 대한 연구이다. local branch와 global branch를 (각 branch는 transformer block을 쌓은 것) 주어서 특징을 추출하고 병합하는 방식이다. seg 모델은 SAM 이후로 끝난 줄 알았는데 제로샷 seg 모델 흥미롭다. 특히나 모델 자체 구조보다 이를 입증하기 위한 실험 방식들이 눈에 들어온다.</p>
</li>
<li><p><a href="https://arxiv.org/pdf/2508.00265">Multimodal Referring Segmentation: A Survey</a>
앞서 적은 논문의 분야인 Referring Segmentation의 서베이 논문. 서베이 논문을 이해하는 것으로 이쪽분야에 대한 지식 확장을 시작해도 좋을 듯.</p>
</li>
<li><p><a href="https://arxiv.org/pdf/2507.23268">PixNerd: Pixel Neural Field Diffusion</a>
저레벨에서 조금씩 키워서 이미지를 만드는 것이 아닌, 처음부터 큰 이미지를 생성하는 방식의 모델이다. Diffusion transformer라는 핵심 구조가 모델에 있는데 ViT의 일종인 SiT가 들어간 게 핵심인 듯 싶다. 흥미롭다.</p>
</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>