반응형

추천 시스템이란?

추천 시스템이 어떻게 활용되나?

추천 시스템 새로운 응용

 


 

추천 시스템(Recommendation System) 이란

https://medium.com/@john_analyst/%EC%B6%94%EC%B2%9C-%EC%8B%9C%EC%8A%A4%ED%85%9C-recommendation-system-%EC%9D%B4%EB%9E%80-111e315f8256

 

추천 시스템의 전반적인 내용

https://yamalab.tistory.com/68

 


추천 시스템 - 위키백과

https://ko.wikipedia.org/wiki/%EC%B6%94%EC%B2%9C_%EC%8B%9C%EC%8A%A4%ED%85%9C

 

접근법

Collaborative filtering

Collaborate filtering은 사용자 행동, 활동 또는 선호도에 대한 많은 정보를 분석하고 모으고 다른 사용자와의 비슷함에 기초를 두고 사용자들이 무엇을 좋아할지를 예측하는 것에 기초를 두고 있다. Collaborative Filtering 접근법의 한 중요한 장점은 machine analyzable content에 의존하고 있지 않다는 것이다. 그래서 정확하게 아이템 그 자체를 이해하지 않고도 영화와 같은 복잡한 아이템들을 추천할 수 있다. 많은 알고리즘은 추천 시스템에서 사용자나 아이템의 비슷함(similarity)을 측정하는 데 사용되고 있다. 예를 들어, KNN[1]과 Pearson correlation이 있다.

KNN

분류할 때, 분류 대상과 가까운 k 개를 뽑아 그중 가장 많은 비율을 차지 한 쪽으로 분류

Pearson correlation

연속형 두 변수 간의 선형 관계(관련성)를 구하기 위해 사용된다. -1에서 +1사이의 범위 값

Collaborate filtering은 과거에 동의한 사람들이 미래에도 동의하고 그들이 그들이 과거에 좋아했던 것들을 좋아할 것이라는 가정에 기초를 두고 있다.

사용자의 행동으로부터 모델을 만들 때, 특징(차이점)은 종종 data collection의 뚜렷하기도 하고 암시적이도 한 형태 사이에서 만들어진다.

Explicit data collection의 예

사용자에게 item을 평가하게 하기, 검색하게 하기, 가장 선호하는 것과 가장 덜 선호하는 것을 순위 매기게 하기 등

implicit data collection의 예

사용자가 본 item을 관찰하고 분석하기, 사용자가 구매한 item을 기록하기, 사용자의 SNS를 분석하고 비슷한 likes와 dislikes를 찾아내기

이 추천 시스템은 모아진 데이터를 다른 사람들로부터 모아진 비슷하고 안 비슷한 데이터와 비교하고, 사용자의 추천된 items 목록을 계산한다.

Linkedin, facebook과 같은 SNS는 collaboprative filtering을 친구 추천 등에 사용한다.

Content-based filtering

또 다른 잘 알려진 접근법은 content-based filtering이다. 이는 item에 대한 설명(description)과 사용자 선호에 대한 profile을 기반으로 한다.

Content-based 추천 시스템에서, 키워드는 item을 설명(describe) 하는데 사용되고 사용자의 프로필은 이 사용자가 좋아하는 류(type)의 item을 가리키게(indicate) 만들어진다. 다른 말로 하면, 이런 알고리즘들은 과거에 사용자가 좋아했던 것들(또는 현재 보고 있는 것들)과 비슷한 items을 추천하려고 한다. 구체적으로 말하면, 다양한 후보 items은 사용자에 의해 현재 평가되는 (rated) items과 비교되고 best-matching items은 추천된다. 이 접근법은 information retrieval과 information filtering에 뿌리를 두고 있다.

Information retrieval

집합적 정보로부터 원하는 내용이나 관련되는 내용을 가져오는 것

Information filtering

필요 없는 정보를 제거하는 것

Items의 특징을 끌어내기 위해, tf-idf 알고리즘이 많이 사용된다.

Tf-idf: Term frequency-inverse document frequency

여러 문서로 이루어진 문서 군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다.

TF(term-frequency 단어 빈도)가 높을수록 문서에서 중요하다고 생각될 수도 있지만 단순히 흔하게 등장하는 것일 수도 있음. 이를 DF(document frequency 문서 빈도)라고 하며, 이 값의 역수를 IDF(inverse)라고 한다. TF-IDF는 TF와 IDF를 곱한 값이다.

사용자의 profile을 만들기 위해서, 그 시스템은 대게 두 가지 정보에 집중한다:

1. 사용자의 선호의 model

2. 추천 시스템과 사용자의 상호작용 정보(history)

기본적으로 이런 방법들은 시스템 안에서 item에 특성을 부여하면서 item profile(이산적 features와 attributes)을 사용한다. 그 시스템은 item 특성의 weighted vector을 기반으로 한 사용자의 content-based profile을 만든다. Weights는 사용자에게 각각의 feature의 중요도를 나타내고 개별적으로 점수 매겨진(rated) content vectors로부터 다양한 방법으로 계산될 수 있다. 사용자가 좋아할 것 같은 확률(probability)을 계산하기 위해 다른 복잡한 방법 들해 베이지란 분류, 클러스터 분석, 결정 트리 그리고 인공 신경망 네트워크와 같은 머신러닝 기술을 사용하는 반면에, 간단한 접근법들은 그 점수 매겨진 item vector의 평균 값을 사용한다.

보통 ‘좋아요’와 ‘싫어요’와 같은 형태로 사용자로부터 직접적인 피드백은 특정한 속성(attribute)의 중요도에 대한 더 높거나 낮은 weight를 할당하는데 사용될 수 있다.

Content-based filtering의 중요한 문제점은, 한 content source에 관련된 사용자들 행동으로부터 사용자 선호도를 배울 수 있고 다른 content 종류(type)을 넘어서 그것들을 사용할 수 있을지 아닌 지이다. 그 시스템이 사용자가 이미 사용한 것과 같은 종류의 content를 추천하는 것에 한정돼 있을 때, 다른 서비스의 다른 종류의 content가 추천될 수 있을 때보다 추천 시스템의 가치는 상당히 낮다. 예를 들어, news browsing에 기반한 추천 뉴스 기사는 유용하지만, news browsing에 기반해 추천될 수 있는 다른 서비스의 음악, 비디오, 제품 토론에서 더 유용하다.

Pandora Radio는 첫 seed와 같이 사용자에 의해 제공된 노래와 비슷한 특징의 음악을 재생해 주는 content-based 추천 시스템의 한 예이다.

Hybrid recommender systems

최근 연구는 collaborate 과 content-based filtering을 섞은 hybrid 접근법이 몇몇의 상황에서 더 효과적일 수 있다고 설명한다. Hybrid 접근법은 여러 가지 방법으로 사용(implement) 될 수 있다: 한 접근법을 다른 접근법에 더하거나, 하나의 model로 만들거나. 몇몇의 연구들은 두 가지 접근법을 hybrid와 경험에 기인해서 비교하고 hybrid가 두 접근법들보다 훨씬 더 정확한 추천을 제공한다고 말한다. 이런 방법들은 cold start와 sparsity 문제와 같은 추천 시스템에서 공통적인 문제의 몇몇을 극복할 수 있다고 한다.

Cold start: 충분한 정보가 없어서 필요한 정보를 얻지 못하는 것

Netflix는 hybrid 추천 시스템의 좋은 예이다. 이 웹사이트는 사용자가 높게 평가했던(content-based) 영화와 비슷한 특성을 띄는 영화를 추천하고, 비슷한 사용자(collaborate)들의 검색 습관과 시청을 비교함으로써 추천을 한다.

다양한 기술들은 추천 시스템의 기초로 제안되어 왔다: collaborative, content-based, knowledge-based 그리고 demographic 기술. 이 기술들은, 몇 개의 평가(rating)을 한 새로운 사용자를 어떻게 하지와 같이 collaborative와 content-based의 유명한 cold-start 문제와 knowledge-based 접근법의 the knowledge engineering bottleneck(병목현상)과 같은 단점을 가지고 있다. Hybrid 추천 시스템은 그들 사이의 시너지를 얻기 위해서 여러 기술들을 합치는 것이다

Collaborative

이 시스템은 다른 사용자들과 items에 대한 profiles을 평가하는 정보만 사용하면서 추천을 한다. 이 시스템은 현재의 사용자나 items과 비슷한 평가 기록(history)와 함께 비슷한(peer) 사용자 또는 items을 배치하고, 이 근접 이웃(neighborhood)를 이요 해서 추천을 만든다. 사용자 기반과 item 기반의 가장 가까운 이웃 알고리즘은 cold-start 문제를 해결하기 위해 합쳐질 수 있고 추천 결과를 향상시킬 수 있다.

Content-based

이 시스템은 사용자가 그들에게 준 평가와 제품들과 관련된 특징이라는 두 가지 Sources로부터 추천을 만든다. Content-based 추천자는 추천을 user-specific 분류 문제처럼 다루고 제품의 특징에 기반한 사용자의 좋아요 와 싫어요의 분류자를 학습한다.

Demographic

Demographic(인구 통계학적) 추천은 사용자의 인구통계학적 정보(profile)를 기반으로 추천을 제공한다. 추천된 제품은 그 영역의 사용자들의 평가들을 합침으로써 다른 인구통계학적 영역을 위해 만들어질 수 있다.

Knowledge-based

이 추천자는 사용자의 선호와 요구(needs)에 대한 추론을 기반으로 한 제품을 제안한다. 이 지식(knowledge)는 때때로 얼마나 특정한 제품 특징이 사용자의 요구를 충족시키는지에 대한 뚜렷한 기능적(functional) 지식을 포함한다.

Hybrid 추천 시스템이란 용어는 여기서 결과를 만들어 내기 위해 다중의 추천 기술을 함께 섞는 어떠한 추천 시스템을 설명하는데 사용된다. 같은 유형의 몇몇의 다른 기술들이 함께 되지(be hybridzed) 못하는지에 대한 이유는 없다. 예를 들어, 두 개의 다른 content-based 추천은 함께 효과를 낼 수 있고 많은 프로젝트들이 이런 종류의 조합에 투자해 왔다: naïve bayes와 knn을 함께 사용한 NewsDude는 한 예다. 7개의 hybridization 기술들:

1. Weighted: 다른 추천 요소들의 점수는 수학적으로 합쳐진다.

2. Switching: 그 시스템은 추천 요소들 안에서 선택하고 고른 것을 적용한다.

3. Mixed: 다른 추천자로부터의 추천들은 추천을 주기 위해 함께 보인다.

4. Feature Combination: 다른 지식 sources로부터 나온 특징들은 함께 합쳐지고 하나의 추천 알고리즘에 쓰인다.

5. Feature Augmentation: 하나의 추천 기술은 하나의 특징이나 다음 기술의 입력의 한 부분이 될 특징들의 세트에 사용된다.

6. Cascade: 추천자는 더 낮은 우선순위들이 더 높은 것들의 점수를 매기는 것이 단절되면서 엄격한 우선순위를 가진다.

7. Meta-level: 한 추천 기술은 적용되고 다음 기술의 입력으로 사용되는 몇몇의 model을 만든다.

정확도를 넘어서

전형적으로, 추천 시스템에 대한 연구는 가장 정확한 추천 알고리즘을 찾는 것에 관심을 둔다. 하지만, 많은 중요한 요소들이 있다.

· Diversity – 사용자들은 다른 아티스트의 items와 같은 더 높은 intra-list 다양성이 있을 때 추천 시스템에 더 만족하는 경향을 보인다.

· Recommender persistence – 어떤 상황에서, 추천을 다시 보여주거나 사용자가 다시 items을 평가하게 하는 것이 더 효과적이다.

· Privacy – 추천 시스템은 대게 privacy 문제를 해결해야 한다. 왜냐하면 사용자들은 민감한 정보를 공개해야 하기 때문이다. · Collaborative filtering을 사용해 사용자의 profiles을 만드는 것은 privacy의 관점에서 문제가 될 수 있다. 많은 유럽 국가들은 data privacy에 대한 강한 문화를 가지고 있고, 사용자의 profile을 만드는 어떠한 단계를 소개하려는 모든 시도는 부정적인 사용자 반응을 초래할 수 있다. Netflix Prize competition을 위해 Netflix에서 제공한 데이터 셋에 관련해서 많은 privacy 문제가 발생했었다. 그 데이터 셋이 고객의 개인 정보를 지키기 위해 익명화됐음에도 불구하고, 2007에 텍사스 대학의 두 연구자는 Internet Movie Database에 영화 평가 데이터 셋을 매치함으로써 사용자 개개인을 식별할 수 있었다. 결과적으로, 2009년 12월, 한 익명의 Netflix 사용자는 Netflix를 고소했다. 이건 2010의 두 번째 Netflix Prize competition을 취소하는 데 부분적으로 영향을 끼쳤다. 많은 연구들은 이 영역의 진행 중인 개인 정보 문제를 행하고 있다. Ramakrishnan 은 개인화와 정보보호 사이에서 교환의 확장적인 개요에 대해 행동했고, 다른 데이터 소스(sources)와 약한 연결들(우연히 발견한 추천을 제공하는 예상치 못한 연결)의 조합이 익명화된 데이터 셋에서 사용자의 정체를 발견하는데 사용될 수 있다는 것을 찾았다.

· User demographics- Beel 은 사용자 인구학이 얼마나 사용자가 추천에 만족해하는지에 대해 영향을 줄지도 모른다는 것을 발견했다. 그들의 연구에서, 그들은 나이가 많은 사용자들이 어린 사용자들보다 추천에 더 관심을 보이는 경향이 있다는 것을 증명했다.

· Robustness – 사용자가 추천 시스템에 참여할 수 있을 때, 속이는 문제(the issue of fraud)는 반드시 다뤄진다.

· Serendipity – Serendipity(우연히 발생, 발견됨)는 얼마나 추천 시스템이 놀라운가에 대한 측정이다. 예를 들어, 마트에서 고객에게 우유를 추천하는 한 추천 시스템은 완벽하게 정확할지라도, 이건 좋은 추천 시스템이 아니다. 왜냐하면 그 고객이 살 품목이 너무 명백하기 때문이다. 하지만, 뜻밖의 serendipity는 정확도에 부정적인 영향을 줄지도 모른다.

· Trust – 추천 시스템은 사용자가 시스템을 신뢰하지 않으면 사용자에게 가치가 없다. 신뢰는 어떻게 추천을 만들어 내는지와 왜 이 item을 추천했는지를 설명함으로써 쌓을 수 있다.

· Labelling – 추천 시스템에 대한 사용자의 만족은 추천의 labeling(그룹 짓기, 이름 짓기)에 따라 영향을 받을지도 모른다. 예를 들어, 한 인용된 연구에서, sponsored로 묶인 추천에 대한 Click Through Rate(CTR)은 Organic으로 묶인 동일한 추천에 대한 CTR보다 낮다. 그 연구에서 Label이 없는 추천이 가장 좋은 성능을 보였다.


추천 시스템 만들기

https://www.slideshare.net/kwnam4u/02-41434707

 

넷플릭스 추천 시스템

https://m.post.naver.com/viewer/postView.nhn?volumeNo=28425732&memberNo=41516152&vType=VERTICAL

BLENDING

물론 넷플릭스는 단순히 하나의 알고리즘만을 사용하지 않고 많은 알고리즘을 블렌딩하여 사용합니다.

원두를 섞어서 향을 다양하게 만들듯이 여러 알고리즘을 블렌딩하면 정확도가 상승한다는 사실을

Netflix Prize 대회를 통해 알아냈기 때문입니다.

추천 시스템 정리 자료

https://m.blog.naver.com/eqfq1/221551267898

 

(머신러닝을 이용한 토익 문제 추천 시스템)

https://www.youtube.com/watch?v=v_wnkwuoHew

 


[교육 분야 추천 시스템 활용]

수학 문제 과외 선생님 콴다 프로젝트

https://youtu.be/55We_uNaJ20

 

[콴다 프로젝트 추가자료]

https://brunch.co.kr/@mathpresso/9


[인공지능 교육 플랫폼 산타인사이드]

https://santainside.riiid.app/ko/main

 

산타인사이드

https://www.riiid.co/ko/tech

 


 

반응형
반응형

배울 점이 많은 강의가 있어서 추천드리며, 시리즈로 글을 쓰고자 합니다.

비정형 데이터 분석 11/11 GPT

https://youtu.be/ZgIH1RoFZaA

 


[GPT 추가 자료]

https://www.quantumdl.com/entry/12%EC%A3%BC%EC%B0%A81-Improving-Language-Understanding-by-Generative-Pre-Training

요약하자면 Unsupervised Learning을 통한 Pretrained-LM의 구축과

Supervised Learning을 통한 Task prediction구조를 통해

여러 종류의 NLP downstream task에 대해 'Generative'한 방법을 통한 text representation을 학습 모델을 제안한다.

Model Architecture

Unsupervised Learning

이 단계에서는 Unsupervised Learning을 통한 Language Model을 구성한다. 여기서는 Transformer block을 사용해서 Language Model을 구성하는 것으로 나오는데, 토큰화 된 문장을 Token Embedding matrix로 구성하는 과정에서 Transformer의 decoder부분만 사용하게 된다. 대신 기존의 Transformer가 Encoder/Decoder 6쌍으로 구성되었다고 하면 여기서는 Decoder만 12개(Multi-head)로 구성한다는 점을 특징으로 잡을 수 있다.

간단히 요약하자면, 일단 문장단위로 Encoding(BPE)하고 Transformer Decoder를 거쳐 Context-level Embedding을 하는 과정을 통해 Unsupervised Learning을 사용한 LM을 학습한다.

 

Supervised Learning

Supervised Learning부분은 크게 두 부분으로 나눠볼 수 있다. Text/Position Embedding부터 12개의 Decoder가 있는 부분인 Pretrained Model, 그리고 Task Prediction/Classification 부분까지 두 부분으로 나눠보자.

 

Pretrained Model에서는 Global한 NLP feature를 학습하도록 구성되어있다. 여기서 각 Embed는 Unsupervised에서도 언급했듯이 BytePair Encoding으로 구성되어있다. 이렇게 학습된 representation은 Context에 대해 소실되는 정보가 거의 없이 학습된다고 가정하고, 이를 Decoder를 통해 Task에 맞는 정답 Feature를 추출하고자 한다.

 

두번째로 Task prediction/classification부분이다. 여기서 기억해야 할 점은, Task Classifier 또는 Task Prediction과 같이 하나의 예상만 출력하지 않는다는 점이다. 논문에서도 이러한 구조를 Auxiliary Task라는 용어로 표현하고 있다. 쉽게 풀어 말하자면, 하나의 Task objective에 대해서만 학습하는 것 보다 Auxiliary objective(sub-task)를 같이 학습하는 것이 주요 task에 대한 정확도를 높여주는 것이다.

How to use (in different tasks)

GPT-1의 전체적인 구조

Input transformations for fine-tuning on different tasks

사실 GPT가 pretrained model을 제시한다고 해서 모든 task에 대해 사용법이 전부 동일한 것은 아니다. 위 그림에서 보이듯이 Classification은 True/False 또는 category를 예측하기 위해 하나의 구조만 가지고 있지만, Similarity나 Multiple Choice의 경우 Context/Text를 비교하기 위해 각 부분마다 모델을 적용시킨 후, 이를 취합하는 구조를 보인다. 이와 같이 GPT 모델을 사용할 때는, 하고자 하는 Task에 맞춰 모델을 알맞게 구성해 줄 필요가 있다.

 

Result & Conclusion

Result

왼쪽 그래프는 Transformer Decoder의 갯수에 따른 정확도(accuracy)의 변화를 나타낸다. RACE(https://arxiv.org/abs/1704.04683)와 MultiNLI(https://arxiv.org/abs/1704.05426)는 각각 데이터셋이며, RACE의 경우 Question Answering(QA)를 목적으로 하며, MultiNLI의 경우 textual entailment 또는 NLI(Natural Language Inference)를 목적으로 한다. 결과에서도 보이듯, 두 데이터셋 모두 Layer의 갯수가 많아질수록 정확도가 비약적으로 상승하는 것을 볼 수 있다. (다만 12개 정도에서 정확도가 Converge하는 듯하다)

 

오른쪽 그래프는 점선(Transformer대신 LSTM 사용)과 실선(Transformer사용)을 통해 Transformer를 사용할때와 사용하지 않을 때의 차이를 보여주고 있다. 각 색상은 특정 Task를 나타낸다. 모든 Task에 대해 증가율의 차이는 있지만 모두 상대적으로 performance가 증가한 것을 볼 수 있다.

 

위 표에서는 Auxiliary Objective(sub-task)가 있을때와 없을때, 그리고 pre-training이 없을때의 성능을 보여준다.

 

위 결과중 왼쪽의 4가지 Task와 오른쪽 4가지 Task의 결과가 다른데, 이는 데이터셋의 크기가 다르기 때문이다. 즉, 데이터셋이 클수록(QQP, MNLI, QNLI, RTE) auxiliary task가 성능 개선에 영향이 더 크며, 작을수록(CoLA, SST2, MRPC, STSB) auxiliary task없이 학습하는 것이 오히려 성능에 도움이 되는 것을 확인할 수 있다.

 

Transformer의 사용 여부에 대해서도 성능을 측정하고 있는데, 모든 경우에 대해 LSTM 대신 Transformer를 사용하는 것이 성능 개선에 도움이 되는 것을 확인할 수 있다.

 

또한 pre-training의 유무에 대해서도 성능을 측정하는데, full모델에 비해 pre-training이 없을 경우 전체적으로 성능이 매우 감소하는 것을 확인할 수 있다. (여기서 pre-training을 사용하지 않는다는 것은 unsupervised pre-training에 사용되는 구조를 모두 넘겨버리는 것을 말한다. 즉, supervised부분만 사용하는 것)

 

Conclusion

사실 GPT-1은 BERT에 비해 그리 주목받지 못한다. 이유가 몇가지 있는데, 우선 BERT가 범용적으로 쓰이기 더 용이하다는 점, 그리고 성능면에서도 BERT에 비해 좋다는 소식이 들리지 않기 때문도 있다(SQuAD 1.1이나 2.0을 살펴보면 GPT에 대한 성능 결과가 아무것도 없다).

 

하지만 그럼에도 불구하고 이 논문을 살펴봐야 할 이유는 있는데, Decoder로서 Transformer를 Pre-trained Language Model생성에 어떻게 사용하고 있는가에 대한 좋은 예시가 바로 GPT이기 때문이다. 다른 많은 부분은 BERT와 비슷하게 가는 부분이 많아도 이 점 하나는 알아갈만한 포인트로 보인다. (그리고 사실 BERT와 GPT-1은 많은 부분이 흡사하다)


https://youtu.be/o_Wl29aW5XM

 

https://youtu.be/p24JUVgDkQk

 


[이은아님 강의 모음]

https://www.youtube.com/playlist?list=PLGAnpwASolI0vViZItiP90nWI_s9m91Av

 


 

반응형
반응형

https://youtu.be/RKDLx6ksnWs

 

일론 머스크 사고법

평소에는 유추로 살지만, 하지만 뭔가 새로운 걸 한다면 물리적인 접근을 해야 합니다.

물리는 직관에서 벗어나 어떻게 하면 새로운 것을 발견할 수 있을지 생각하는 방법

이미 존재하는 것에서 추론하거나 약간의 변형을 가하는 것이 아니라

더 이상 쪼갤 수 없는 가장 기본이 되는 요소들로 쪼갠 후에

그것들을 조합하여 근본에서부터 논리를 쌓아 올려 간다


[일론 머스크 물리학적 사고법 추가자료]

https://brunch.co.kr/@bookfit/783

“저는 생각에는 좋은 틀이 있다고 생각합니다. 바로 ‘물리’죠. 아시겠지만 논리의 첫째 원칙입니다.

일반적으로 저는 이런 방식으로 생각합니다.

물질의 근본적인 것까지 파고들고, 그것에서부터 다시 생각하는데, 유추하는 방식으로 하지는 않습니다.”

머스크가 말한 물리학적 사고법유추는 어떻게 다른 것일까?

우리는 삶의 모든 영역에서 타인의 삶과 사고를 바탕으로 조금씩 다른 걸 추구하는 데 익숙해져 있다.

즉, 다른 사람들의 생각에 조금 변형을 가하는 것이다.

대부분 사람은 이러한 사고법을 따르는데, 기존의 것을 ‘개선’하기 위해서는 그것만으로도 충분할 수 있다.

하지만 머스크처럼 세상에 없던 그 무엇을 만드는 ‘혁신’을 위해서는 ‘유추(analogy)’의 사고법만으로는 역부족이다.

문명을 바꾸는 혁신가들은 직관이나 유추에 의지하지 않고 철저히 ‘원리(principle)’를 통해 생각을 발전시킨다.

물질의 근본적인 곳에까지 파고들고, 그것에서부터 다시 생각하는 것이다.

그렇게 함으로써 ‘새로운 것’을 발견하고 발전시킬 수 있다.

유추의 함정을 피하는 데에는 ‘전두엽의 실행 기능’ 중에서 ‘점검하기’ 능력이 매우 요구된다. 자신의 판단이나 분석이 제대로 되었는지를 확인하는 능력이다. 우리는 책을 읽거나 생각을 전개할 때, 자신의 가정이 맞는지 아닌지 생각해보지도 않고 잠정적인 결론을 내리는 경우가 많다. 이때 ‘정말 그게 맞아?’라고 한번 의문을 품어보는 것이 바로 ‘점검하기’의 시작이다.

세상의 모든 지식을 다 알 수는 없지만, 내가 지금 보고 있는 한 권의 책에서 내가 조금이라도 모르는 것이 있다면 더 깊이 들어가서 하나하나 완전히 익히는 공부법을 견지한다면 만 권의 책을 읽지 않아도 내가 공부하거나 일하는 분야에서는 유추의 함정을 피해 원리 추론적 사고법을 구사할 수 있지 않을까.

https://youtu.be/BWxYWnwi08o

 


 

반응형
반응형

배울 점이 많은 강의가 있어서 추천드리며, 시리즈로 글을 쓰고자 합니다.

비정형 데이터 분석 10/11 #Transformer

https://youtu.be/uiEa6aKq_2I

 

키워드 및 핵심 내용

Transformer

Seq2Seq(Encoder + Decoder) 구조이지만 Attention을 활용한 병렬 처리 가능

Incoder 구조

Input Embedding -> Positional Encoding -> Multi-Head Attention(+정규화) -> Feed Forward(+정규화)

Positional Encoding : sin, cos 함수 이용

Attention(q, k, v) -> Multi-Head Attention (Wq, Wk, Wv) -> Wz


[Transformer 추가 자료]

https://youtu.be/mxGCEWOxfe8

 


[Transformer 추가 자료]

https://nlpinkorean.github.io/illustrated-transformer/

전체구조

Encoder

self-attention

self-attention의 계산 과정

multi-headed self-attention

Encoder layer-normalization 과정

Decoder

Decoder 최종 출력 과정


[자연어처리 추가 자료]

https://youtu.be/qlxrXX5uBoU

 


[이은아님 강의 모음]

https://www.youtube.com/playlist?list=PLGAnpwASolI0vViZItiP90nWI_s9m91Av

 


 

반응형
반응형

https://youtu.be/Xk6q5mS1vKw

 

[목차]

1.감잡기

2.컨셉잡기

3.Plan Do See

- 저는 어떤 사업을 하기 전에 책, 강의, 커뮤니티를 꼭 본다, 이번엔 책보다는 유튜브, PDF를 봤음

- 유튜브 알고리즘 : 남보르 TV (통계적으로 영상을 5개 올리면 중박 10개 올리면 대박 조회수 영상이 나온다)

- PDF : 자청(표본이론), 유튜리즘(평균지속시간이 4분 이상일 때 떡상이 찾아왔다), K대표(완전 초보분들에게 좀 더 적합)

- 컨설팅 : 자청(제목/ 제목에 '내가' 필포), 썸네일아트(썸네일 텍스트 / 추상-> 구체적)

- 커뮤니티 : 유커, 나는유튜버다, 애드센스포럼

채널이 날라가거나, 수익창출 정지가 될 수도 있는 다양한 사례

- 전략

- '시청지속시간 4분 이상이 나오기 위한 길이의 유익한 영상을 만든다, 그 영상을 재밌게 봐 줄 구독자를 찾는다'

- 경쟁피하기와 따라하기 스킬을 이용해서 컨셉 잡기

- 매출 55억, 어린 나이에 은퇴해서 전원주택

- 벤치마킹 : 돌디, 김머신, 김단테

- 얼굴없는 영상 : 허대리, 알간지, 떴다왕언니

- 채널 분석 : 미니멀유목민, 강과장, JM

- 자막 필수

- 핵심, 요점, 쉽게

- 매력적 캐릭터 : 가벼운 이미지로 보이지 않게 흰 셔츠와 검은색 바지로 통일

- 지루하지 않게 -> 효과음과 이미지

- 주제 -> 순서 계획 -> 대본 -> 영상 -> 편집 -> 감수(피드백) -> 썸네일(키워드) -> 영상자막(Vrew), cc자막

- 3개의 반딧불방 : 비주얼콘텐츠 제작, 글쓰기, 잘되는 영상에 대한 감

- 물꼬트기 : 단톡방, 지인,

- 유튜브 알고리즘

- 100명쯤에 버프

- 1000명쯤에 버프

- AI가 제 채널을 좋은 채널이라고 판단한 이유 3가지

- 한번 들어와서 모든 영상을 정주행하는 분들이 많았음(달아주신 댓글로도 유추, 채널 페이지에서 발생한 조회수가 23%)

- 반복주행, 시청지속률

- 조회수 대비 댓글과 좋아요가 많았음

- 아는 내용이 70% 새로운 내용이 30% 정도일 때 가장 편하게 지식을 배울 수 있음

[요점 정리]

책, 강의, 커뮤니티를 통해 감을 잡는다

경쟁피하기, 따라하기를 통해 컨셉을 잡는다

Plan Do See를 통해 실행하고 점검한다

Do를 잘하기 위해서는 반딧불방이 필요하다

주제는 최대한 일관성있게 만든다

그래야 AI가 채널 성향 파악을 빨리한다

내 채널의 영상을 끝까지 봐줄 성향의 구독자를

100명만 먼저 모아야 한다

그래야 AI가 내 구독자들의 성향을 파악한다

데이터상 모수가 100명 정도는 돼야

AI가 충분히 판단해서 추천을 해줄 수 있다

유튜브 AI가 뿌려주는 형태는 크게 탐색, 추천 영상, 검색이 있는데

탐색은 유튜브 홈화면에 나오는거라 뿌려진 대상이 많은 대신 시청지속시간이 상대적으로 짧다

추천영상은 관련된 영상을 찾아서보고 있던 사람에게 띄우는 거라 지속시간이 상대적으로 길다

검색도 니즈가 정확한 사람이 들어오기 때문에 지속시간이 긴 편이다

그래서 시청지속 시간을 늘리고 초기 100명의 구독자를 빨리 모으려면 검색에 뜰만한 영상을 만드는 걸 추천합니다

이거 통해서 시청지속시간 늘어나면 탐색에 저절로 뜨게 될 거에요

첫 영상을 올리면 반나절에서 하루정도 검색결과 상위에 띄워줘요 이 때 키워드를 잘 선정해서 제목을 정하고

영상에서는 유익한 내용과 함께 내가 앞으로 어떤 유익함을 줄 것이라는 걸 어필해야 시청자들이 구독으로 전환될 거에요

스마트스토어도 똑같습니다

제가 처음 사업을 시작했을 때도 이 과정들을 다 거쳤어요

상품 만들어서 올리고 광고 세팅하고 통계 보면서 효율 체크하고 고객들 반응 보면서 사이트 업뎃하고

설명 추가하고 사진 수정하고..

이렇게 반딧불을 하나씩 켜면서 고객이 살 가능성을 하나씩 높여가는 작업을 했었거든요

여러분도 이 개념을 알려드렸으니까 이제 따라만 하시면 됩니다 꼭 적용해 보세요!


남보르 TV(5중 10대) https://www.youtube.com/user/Kimnh1203

PDF

자청(표본이론) https://www.youtube.com/channel/UCONUFWDbb9Y338NVLGQid3Q/featured

https://blog.naver.com/mentalisia

유튜리즘(평균지속시간이 4분 이상일 때 떡상)

K대표(완전 초보분들에게 좀 더 적합)

썸네일아트

유커 https://cafe.naver.com/raze

나는유튜버다 https://cafe.naver.com/iamyoutuber

애드센스포럼 https://adsenseforum.co.kr/

돌디 https://www.youtube.com/channel/UClmxSq4_kJfLtyIY7TycFfw

김머신 https://www.youtube.com/user/STAR2VIDEO

김단테 https://www.youtube.com/channel/UCKTMvIu9a4VGSrpWy-8bUrQ

허대리 https://www.youtube.com/channel/UCw0wD0BctMf0cUHiz_jh36Q

알간지 https://www.youtube.com/channel/UC4wMRlYVDQqPbIMZb-DqH1A

떴다왕언니 https://www.youtube.com/user/mymizcom

미니멀유목민 https://www.youtube.com/user/parkkunwoo1984

강과장 https://www.youtube.com/channel/UC1EEpE0lA9BaArXhRTHIG6w

JM https://www.youtube.com/channel/UCYAvG7-sBBztgDtwKil1RTQ

자막 Vrew https://vrew.voyagerx.com/ko/


 

반응형
반응형

좋은 동영상이 있어서 소개 드립니다.

- 내가 자판기가 되어서는 안 된다. 자판기 만드는 데 시간과 노력을 들이자

- 자판기는 Plan-Do-See로 만든다

- 자판기는 꽉 찬 반딧불 방에 의해 움직인다

https://youtu.be/Lkl61r0Dphk

 

동영상 내용

1. 무슨 이야기를 하겠다 짧게

2. 자기소개

3. 결론

4. 이야기 순서 (마지막에 선물 있습니다. ^^)

5. 자판기 성질

6. 자판기 종류

7. 꽉 찬 반딧불 방

8. 자판기 만드는 방법 (Plan-Do-See)

9. 자판기 늘리기

10. 핵심 정리

자판기 그래프(처음에는 시간과 돈이 들지만 일정 시간 이후에는 내가 투입하는 시간보다 수익이 커진다)

 

5. 자판기 성질

1) 시간과 돈을 1:1로 교환하지 않는다

- 일정 시간 이후 투입하는 시간보다 수익이 커진다

2) 지속 가능해야 한다

- 시간이 갈수록 경쟁이 치열해지더라도 나만의 경쟁력이 있는가?

- 실력과 고객이 쌓여야 함

- 오랜 경험이나 아무나 쉽게 경험하기 어려운 콘텐츠

6. 자판기 종류

0) 싼 자판기(설치하는데 시간이 오래 걸림) / 비싼 자판기(설치시간 짧음)

1단계 자판기

 

1) 1단계 자판기

- 무자본 창업

- 프리랜서

- 내가 자판기(내가 일하는 만큼 버는) -> 쇼핑몰 스킨 판매처럼 한번 만들면 지속적으로 수입

- 내가 자판기가 되어서는 안된다 -> 자판기를 위해 시간과 노력을 투입해야 함

- 시간이 지날수록 나에게 실력이 쌓여야 함

- 디지털 상품 판매

- 전자책 : 크몽, 탈잉, 오투잡 / 리디북스, 퍼블리 / 페이업(직접 판매)

- PPT 파일, 문서 서식, 엑셀 매크로 : 해피캠퍼스, 레포트월드

- 사진, 영상 : 어도비스톡, 모션엘리먼츠, 크라우드픽

- 그림, 기획력 : 카카오 이모티콘 스튜디오, 네이버 OGQ마켓, 라인 크리에이터스 마켓, 모히톡

- 온라인 중개

- 과외중개(블로그 활용 홍보)

- 고객 모집(아임웹, 윅스) -> 강의(스카이프, 줌)

- 플랫폼 (cgi몰:인터넷강의 솔루션, 웹프로그램)

- 강의

- 청중 모집(카페, 탈잉, 온오프믹스)

- 퍼스널 브랜드 필요

- 규모나 가격을 키워야 함 ->

- 온라인 강의(유튜브), 웨비나(줌, 구글미트, 짓시),

- 강의 (클래스101, 패스트캠퍼스)

- 커뮤니티

- 예) 신차 출시 -> 관심 있는 사람 모집 -> 자동차 용품 공구

- 관심사 -> 강의, 광고

- 광고

- 예) 나와 생일 같은 연애인, 무료 심리테스트, 유머 사이트, 무료 어플 -> 광고 배너

- 다양한 ppt 디자인 제작 -> 블로그 -> 광고 배너 -> 쌓인 저작물 -> 포트폴리오, 강의

2) 2단계 자판기

- 물건이나 가게처럼 실체가 있음

- 온라인 상품 판매

- 스마트스토어, 오픈마켓, 자사몰

- 크라우드 펀딩 사이트, 와디즈, 텀블벅)

- 오프라인 상품 판매

- (직원 고용) 사람 레버리지 필수

3) 3단계 자판기

- 투자(돈이 돈을 버는) : 부동산, 금융상품

7. 꽉 찬 반딧불 방

- 한 가지에서 결과가 나올 때까지 반딧불을 꾸준히 모으기 -> 꽉 찬 반딧불 방

8. 자판기 만드는 방법

1) Plan - Do - See (메타인지)

2) Pan : 지금 당장 할 수 있는 작은 실행 계획(무엇을 할지 + 시간)

3) Do : 계획한 대로 그냥 하기

4) See : 내가 계획한 대로 잘 됐는지 살펴보고 점검 -> 안 됐으면 뭐가 문제인지 공부해서 수정

5) 재계획, 재실행

자판기 만드는 방법 1단계 Plan 예

 

9. 자판기 늘리기

- 크기를 키울 때는 마케팅과 세일즈, 브랜딩이 필요

- 개수를 늘릴 때는 Plan-Do-See를 다시 하면 됨

10. 핵심 정리

- 돈을 많이 벌려면 자판기를 만들어야 한다

- 투입하는 시간 대비 돈이 많이 벌릴 것

- 지속 가능할 것

- 자판기를 만들려면 돈과 시간을 투자해야 한다

- 처음에는 돈이 없으니까 시간을 많이 투입한다

- 하지만 갈수록 시간을 적게 투입하는 방향으로 가야 한다

자판기 이론 핵심 정리 1

 

- 1단계 자판기 무자본 창업(시간 > 돈)

- 2단계 자판기 유자본 창업(시간 = 수입)

- 3단계 자판기 투자(시간 < 수입)

- 일단 1, 2단계 자판기로 돈을 모은 후에 3단계 자판기를 만들어야 한다

자판기 이론 핵심 정리 2

 

- 자판기를 돌리려면 연로로, 꽉 찬 반딧불방이 필요하다

- 자판기는 Plan-Do-See로 만든다

- 그다음엔 개수를 늘리거나 크기를 키운다

- 내가 자판기가 되면 안 된다

자판기 이론 핵심 정리 3

 


꽉 찬 반딧불 방

https://youtu.be/uej73aQiwOs

 


[링크 모음]

크몽 https://kmong.com/

탈잉 https://taling.me/

오투잡 https://m.otwojob.com/main

리디북스 https://ridibooks.com/

퍼블리 https://publy.co/

페이업(직접 판매) https://www.payup.co.kr/

해피캠퍼스 https://www.happycampus.com/

레포트월드 https://www.reportworld.co.kr/

어도비스톡 https://stock.adobe.com/kr/

모션엘리먼츠 https://www.motionelements.com/ko/

크라우드픽 https://www.crowdpic.net/

카카오 이모티콘 스튜디오 https://emoticonstudio.kakao.com/

네이버 OGQ마켓 https://ogqmarket.naver.com/

라인 크리에이터스 마켓 https://creator.line.me/ko/

모히톡 https://stickerfarm.mojitok.com/ https://m.blog.naver.com/fnsk432/221622874853

아임웹 https://imweb.me/

윅스 https://ko.wix.com/

스카이프 https://skype.daesung.com/main.asp

https://zoom.us/ko-ko/meetings.html

cgi몰인터넷강의 솔루션 https://www.cgimall.co.kr/

웹프로그램 http://webprogram.co.kr/

탈잉 https://taling.me/

온오프믹스 https://www.onoffmix.com/

구글미트 https://meet.google.com/

짓시 https://meet.jit.si/ , https://m.blog.naver.com/yellephant/221903689718,

클래스101 https://class101.net/

패스트캠퍼스 https://www.fastcampus.co.kr/

광고 배너

애드센스 https://www.google.com/intl/ko_kr/adsense/start/

애드포스트 https://adpost.naver.com/

애드핏 http://adfitinfo.biz.daum.net/

쿠팡파트너스 https://partners.coupang.com/

오픈마켓 https://namu.wiki/w/%EC%98%A4%ED%94%88%EB%A7%88%EC%BC%93

스마트스토어 https://sell.smartstore.naver.com/

자사몰 http://groobee.net/2019/01/28/own-shopping-mall-advantage4/

크라우드 펀딩 사이트 https://namu.wiki/w/%ED%81%AC%EB%9D%BC%EC%9A%B0%EB%93%9C%ED%8E%80%EB%94%A9

https://brunch.co.kr/@kyungwonyi0/6

와디즈 https://www.wadiz.kr/

텀블벅 https://tumblbug.com/


 

반응형
반응형

투자관련 머신러닝 추천 영상입니다.

https://youtu.be/dB8cpsnZ5FA

 

금융영역 딥러닝 문제점

문제점 1. 시계열 Feature 자체의 노이즈

다음 주가 = 현재 주가 + 정보 + 노이즈

문제는 노이즈 > 정보

lstm(RNN)을 이용한 주가 예측 -> 비슷하지만 오른쪽으로 Lagging

문제점 2. 시계열 Feature 종류 대비 짧은 시계열 길이 (부족한 데이터)

예) 자산배분

- 자산군 데이터 : 금, 채권, 주식, 리츠, 원자재

- 매크로 데이터 : 금리, 인플레이션, 장단기금리차

- High Level Feature : 자산군 모멘텀 효과, 자산군 평균회귀 효과, 확장적 통화정책,

긴축적 통화정책 분류, 단기부채사이클, 장기부채사이클

- 주로 Monthly Frequency 데이터 -> 40년 데이터 = 겨우 480개의 Sequence 길이

- 고려할 수 있는 요소는 수십 ~ 수백개인데, 고려할 수 있는 데이터 길이는 너무 짧음 -> 차원의 저주

- 고려할 요소가 늘어나면 그것을 사용할지 판단하기 위해서는 필요한 데이터가 기하급수적으로 늘어남

문제점 3. 문제점 1과 문제점 2로 인한 Overfitting

해결 방안

문제점 1. 시계열 Feature 자체의 노이즈

- Time-series denoising

1. Moving Average(MA, EMA, ...) -> 오른쪽으로 Lagging

2. Bilateral Filter(어느 정도 denoising 할지?)

3. CNN Stacked AutoEncoder 기반 Denoising Module (자동)

문제점 2. 시계열 Feature 종류 대비 짧은 시계열 길이

- GAN 기반 데이터 생성

- (간접적으로라도) 경제적 함의점을 내포하는 모델 설계

- 데이터 -> 직관 -> 모델 -> 포트폴리오 생성

문제점 3. 문제점 1과 문제점 2로 인한 Overfitting

1. Asynchronous Multi Network Learning

- Overfitting이라고 해서 단순하게 L1, L2 Norm을 적용하면 안됨

- 여러개 네트워크 학습 -> validation 경쟁 -> 네트워크 탈락, 추가 -> validation -> test -> 앙상블

- 여러개 네트워크 학습 -> 경쟁 -> overfitting 정도에 따라 예측들이 다른 구간 -> 잘모르겠다 -> 보수적 투자

2. Bayesian Inference - Uncertainty Quantification

a. Monte Carlo Dropout -> Tau, Dropout rate, Activation에 따른 영향도 높다는 단점

b. Monte Carlo Batch Normaliztion

c. Deep Learning Regression + Gaussian Process Regression

선지도학습 후 GPR 학습 -> 가장 심플하고 적용하기 간단

마지막 Fully Connected 하기 전의 노드들이

선형 독립적으로 Representation Learning이 잘 됐다는 가정 하에 효과적으로 GPR 학습 가능


금융 머신러닝 전문가들은 '머신러닝으로 투자하기'를 과연 긍정적으로 보는가?

https://youtu.be/6xbYSET6AHU

 

반응형
반응형

말하는 톰 앱입니다.

- 음성인식 추가 컴포넌트를 사용합니다. 기본으로 지원하는 음성인식은 구글 음식인식화면이 뜨고, 추가 컴포넌트는 화면에 표시 없이 인식...

- 텍스트를 음성으로 출력 컴포넌트를 활용합니다.


앱 구상

[참고 앱]

https://youtu.be/f8cGYGmMWFQ

 

기본기능

1. 음성인식

2. 인식한 문장을 음성으로 출력


앱 제작

1. 화면 디자인

- 구글 음성인식 대신 사용할 음성인식 컴포넌트를 설치합니다.(귀찮으시면 기본으로 지원하는 음성인식 사용하시면 됩니다.)

https://community.appybuilder.com/t/voice-recognition-extension-without-google-dialogue/21052

첨부파일

ScSpeechRecognizerV8.aix
0.02MB

- 인터넷에서 talking tom animated gif 로 적당한 이미지를 검색하고 webviewer component 의 home url로 설정합니다.

2. 블록 코딩

- 버튼을 누르면 음성인식 시작

- 음성인식이 완료되면 웹페이지를 말하는 그림으로 바꾸고, 인식된 문장(text)를 음성으로 출력

- 음성출력이 끝나면 1초 뒤 웹페이지를 원래 그림으로 바꿈.

3. 실행 화면

4. 소스 파일(aia)

talking_tom_20200715.aia
0.03MB


관련글 : 앱인벤터 소개

https://blog.naver.com/sfex/221994450104

 


 

반응형

+ Recent posts