어느 정보글에서는 태그가 너무 자세하면 ai가 해당 그림에서 변형을 할 필요성을못느껴서 오히려 퀄리티가 별로일수도있다고하던데. 어떤게 맞는말인지 잘 모르겠네.
펼쳐보기▼
쿨한_노란_고릴라
나도 그거 봤음 지금 하는 말들이 다 달라서 햇갈리는게 한두개가 아님
펼쳐보기▼
쓸쓸한_빨간_부엉이
둘중 한사람의 말이 틀렸다기보다는, 그 두명의 학습의도나 목적이 달라서 그렇게 말이 달라진거같긴한데... 관련 지식이 없다보니 내가 원하는 의도로 진행하려면 어떻게 하는게 맞는지를 모르니까 헷갈리네
펼쳐보기▼
굳센_밤색_캥거루
안녕하세요 둘다 같은 사람입니다
정확히는 문장형으로 잘 분석된 태그(특이사항)이 정말 대충달린 태그보다 낫단 것이며, 반면 너무 자세한 묘사는 작가의 특징을 해칠 수 있다는 의미입니다.
생성모델은 이 경우 inference(추론)이라는 것처럼 연관있는 단어를 전부 조금씩 넣는 성질을 가지게 됩니다. 예를 들어 나비가 잔뜩 이라고 쓰면 높은 확률로 꽃, 낮, 화사한 분위기를 넣습니다. 따라서 굳이 꽃의 갯수 등을 넣지 않아도 이에 대해 학습할 수 있습니다. 따라서 SD를 원래 학습할 때에는 태그가 많고 자세하고 좋을수록 좋습니다.
반면 하이퍼네트워크는 작가의 특징을 추론하고 적합을 시켜야 하므로, 무슨 꽃을 주로 쓰는지, 어떤 분위기인지는 알아서 판단하도록 하는 것이 좋습니다.
따라서 정말 간단한 묘사, 사람의 숫자, 구도, 분위기만을 넣더라도 나머지는 알아서 변형하려 시도하고, 이 변형을 학습하도록 하는 것이 목표라 할 수 있습니다.
하지만 맹점은, 기본이 되는 모델은 중복태그나 잘못된 태그 등에 취약하므로 좋지 못한 결과를 낼 수 있으며, 보통 학습하는 작가가 특이한 것을 넣을 수 있다는 점입니다.
결론만 말씀드리자면 사진의 특징, 구도, 낮/밤, 밝기, 초점, 대상, 인물 수, 행동, 동작, 주제를 잘 넣는다면 몇장만으로도 유사한 학습은 가능할 것입니다.
펼쳐보기▼
쓸쓸한_빨간_부엉이
오... 알 것 같으면서도 어렵네요. 혹시 그러면 같은태그가 달린 각기 다른 그림을 넣었을때 어떤방식으로 학습하는지, 이게 나쁜방식으로 진행되지는 않을지 여쭤봐도 괜찮을까요?
예를 들어 두개의 그림에 개가 있다고 가정했을때, 하나는 털이 많은 성견이고, 하나는 털이 없는 아기 강아지일때 두 그림에 모두 dog 태그가 들어가있다면 학습에 저해되는 요소로 작용할지 궁금해요. 보통 머리색 태그같은거는 에메랄드색이든 짙은풀색이든 green 태그로 들어가는 경우가 많은데, 그림이 다르면 이런 태그들이 서로 악영향을 주지는 않을까요?
대부분 얘기들을 보면 얼굴이나 특징을 기준으로 크롭하고 그걸 집중적으로 학습시키는 방식으로 진행하는 것 같던데, 혹시 이 사람의 그림을 포괄적으로 학습량을 많이 넣고 싶다면 이 경우에는 태그를 길게 하는거보단 짧게 몇가지 특징만 넣는게 유리할까요?
펼쳐보기▼
굳센_밤색_캥거루
네트워크 구조에 따라 다릅니다. dog는 추상적이므로 성견과 강아지 모두를 담고 있기에 큰 문제는 없겠지만, 전혀 관련없는 cat이 들어있다면 학습을 저해할 것입니다. dog와 puppy로 구분해준다면 도움이 되지만, dog과 puppy를 따로 넣으면 좋지 않을 수 있습니다.
초록색 머리카락의 경우도 green hair등으로 어떤게 초록색인지, 가능하면 문장형으로 더 정확히 구분지어주는 것이 도움이 될 것입니다.
데이터셋이 크고 종류가 다양할 때 학습이 잘 안되는건 사실 당연한 일입니다. 데이터셋이 적은 경우 태그가 정말 대충 달려도 그림체는 베끼지만 다른 태그에서 뭉개지는 현상이 현저한데, 이는 '뭐가 그림체인데'에 대해서 사람이 지도해준다고 생각해 주시면 됩니다.
적은 데이터셋의 경우 그냥 만들어지는 이미지와 태그에서 만들어지는 이미지 중 가장 큰 차이는 '그림체'나 스타일이므로 이를 학습하고 쉽게 적용하지만, 전혀 관련이 없을때 이를 적용할 수 있는지는 모르기에 잘 뭉개집니다.
큰 데이터셋의 경우 많은 사례를 통해 어떻게 적용할지를 학습할 수 있지만, 무엇이 그림체인지를 학습하는데 오래 걸립니다. 또한 이전 방식으로는 과적합이 일어나 쉽게 망가졌습니다.
따라서 큰 데이터셋의 경우 인내를 가지고 활성화 함수를 포함한 구조로, 작은 데이터셋의 경우 빠르게 큰 기대 없이 학습하는 것이 좋습니다.
펼쳐보기▼
쓸쓸한_빨간_부엉이
위의 말씀은 한 그림 내에서 dog와 puppy로 성견과 강아지를 구분해주었을때는 좋지만, 두 사진에서 하나는 dog 하나는 puppy일때 학습에 저해가 일어날 수도 있다는 말씀이신걸까요?
데이터가 적으면 몇가지 특징만 가지고 그림체를 확정짓기는 편하지만 학습된 데이터 외의 정보에서 대응을 못하고, 데이터가 많으면 어떤게 그림체인지 그 특징을 잡는 것 자체가 어렵다는 뜻으로 이해하면 될까요? 여러번 읽고는 있는데 제가 제대로 이해하고있는지는 잘 모르겠어요...
하이퍼 네트워크를 학습하는데에 있어서는 태그가 자세한것보다는 추론을 할때 필요한 몇가지 특징적인 태그들이 달려있는게 유리하지만, 적은 데이터셋으로 특정 장면이나 프롬프트에 대해서만 빠르게 적용시키려면 많은 태그로 이 특징을 설명하여 고정시키는게 유리하다는거겠죠?
활성화 함수를 포함한 구조라는게 어떤건지 잘 모르겠지만... 레이어가 많고, 복잡한 함수를 가진 모델로 학습하는게 데이터가 많을때는 효과적이라는 뜻일까요?
펼쳐보기▼
굳센_밤색_캥거루
아뇨 두개를 한 그림에 같이 쓸 경우 좋지 않을 수 있습니다. 예를 들어 "dalmasian dog" 또는 "dalmasian puppy"를 쓰면 좋지만, "dog, dalmasian, puppy" 등으로 나열해주면 이는 개 여러마리로 이해하는 등 잘못 이해하게 될 수 있습니다.
그리고 잘 이해하셨습니다. 레이어는 굳이 많을 필요는 없고, relu / leakyrelu 그리고 dropout 등이 추가되었으니 이를 적용하는 것이 데이터가 많을 경우 효과적일 것입니다.
펼쳐보기▼
쓸쓸한_빨간_부엉이
어디서부터 알아봐야할지 막막했었는데 덕분에 정말 많이 배우고갑니다... 질문이 많아서 귀찮으셨을텐데 자세히 답변해주셔서 진짜 감사합니다.