Google 클라우드에서 BigQuery를 사용하여 이미지 임베딩 및 벡터 검색에 대한 깊은 다이빙

Google 클라우드에서 BigQuery를 사용하여 이미지 임베딩 및 벡터 검색에 대한 깊은 다이빙

Google 클라우드에서 BigQuery를 사용하여 이미지 임베딩 및 벡터 검색에 대한 깊은 다이빙Google 클라우드에서 BigQuery를 사용하여 이미지 임베딩 및 벡터 검색에 대한 깊은 다이빙
편집자에 의한 이미지 | chatgpt

소개

우리는 모두 거기에있었습니다 : 온라인 상점을 통해 끝없이 스크롤하여 그것을 찾으려고 노력했습니다. 완벽한 목. 오늘날의 Lightning Fast 전자 상거래 세계에서 우리는 즉각적인 결과를 기대하며, 바로 그것이 AI가 일을 시작하기 위해 들어오는 곳입니다.

이 혁명의 중심에는 이미지 임베딩이 있습니다. 간단한 아이디어의 멋진 용어입니다. 키워드뿐만 아니라 그 제품을 검색 할 수 있습니다. 시각적 유사성. 사진을 업로드하여 소셜 미디어에서 본 정확한 드레스를 찾는 것을 상상해보십시오! 이 기술은 온라인 쇼핑을 더 똑똑하고 직관적이며 궁극적으로 비즈니스가 더 많은 판매를하도록 도와줍니다.

그것이 어떻게 작동하는지 볼 준비가 되셨습니까? 이 놀라운 이미지 임베딩을 사용하여 BigQuery의 머신 러닝 기능의 힘을 활용하는 방법을 보여줍니다.

이미지 임베딩의 마법

본질적으로, 이미지 임베딩은 이미지를 고차원 공간에서 수치 표현 (벡터)으로 변환하는 과정입니다. 의미 적으로 유사한 이미지 (예 : 파란색 볼 가운과 네이비 블루 드레스)에는이 공간에서 서로 “더 가까운”벡터가 있습니다. 이를 통해 간단한 메타 데이터를 넘어서는 강력한 비교 및 검색이 가능합니다.

다음은이 데모에서 사용할 수있는 몇 가지 드레스 이미지가 있습니다.

다음은이 데모에서 사용할 수있는 몇 가지 드레스 이미지가 있습니다.다음은이 데모에서 사용할 수있는 몇 가지 드레스 이미지가 있습니다.

데모는 Google Cloud에서 이미지 임베딩 모델을 만드는 프로세스를 설명합니다.

첫 번째 단계는 모델을 만드는 것입니다: 이름이 지정된 모델 image_embeddings_model 그것을 활용하는 생성됩니다 multimodalembedding@001 엔드 포인트 image_embedding 데이터 세트.

CREATE OR REPLACE MODEL 
   `image_embedding.image_embeddings_model`
REMOTE WITH CONNECTION `[PROJECT_ID].us.llm-connection`
OPTIONS (
   ENDPOINT = 'multimodalembedding@001'
);

객체 테이블 생성: BigQuery에서 이미지를 처리하려면 external_images_table 에서 image_embedding Google 클라우드 스토리지 버킷에 저장된 모든 이미지를 참조하는 데이터 세트.

CREATE OR REPLACE EXTERNAL TABLE 
   `image_embedding.external_images_table` 
WITH CONNECTION `[PROJECT_ID].us.llm-connection` 
OPTIONS( 
   object_metadata="SIMPLE", 
   uris = ['gs://[BUCKET_NAME]/*'], 
   max_staleness = INTERVAL 1 DAY, 
   metadata_cache_mode="AUTOMATIC"
);

임베딩 생성: 모델과 객체 테이블이 제자리에 있으면 위에서 만든 모델을 사용하여 드레스 이미지의 임베딩을 생성하고 테이블에 저장합니다. dress_embeddings.

CREATE OR REPLACE TABLE `image_embedding.dress_embeddings` AS SELECT * 
FROM ML.GENERATE_EMBEDDING( 
   MODEL `image_embedding.image_embeddings_model`, 
   TABLE `image_embedding.external_images_table`, 
   STRUCT(TRUE AS flatten_json_output, 
   512 AS output_dimensionality) 
);

벡터 검색의 힘을 발휘합니다

이미지 임베딩이 생성되면 벡터 검색을 사용하여 찾고있는 드레스를 찾습니다. 정확한 키워드 일치에 의존하는 기존 검색과 달리 Vector Search는 임베딩의 유사성을 기반으로 항목을 찾습니다. 즉, 텍스트 설명이나 다른 이미지를 사용하여 이미지를 검색 할 수 있습니다.

// 텍스트를 통해 드레스 검색

텍스트 검색 수행: 여기서 우리는 사용하겠습니다 VECTOR_SEARCH BigQuery 내에서 기능하여 모든 드레스 중에서 “파란 드레스”를 검색하십시오. 텍스트 “블루 드레스”는 벡터로 변환 된 다음 벡터 검색을 통해 유사한 벡터를 검색합니다.

CREATE OR REPLACE TABLE `image_embedding.image_search_via_text` AS 
SELECT base.uri AS image_link, distance 
FROM 
VECTOR_SEARCH( 
   TABLE `image_embedding.dress_embeddings`, 
   'ml_generate_embedding_result', 
   ( 
      SELECT ml_generate_embedding_result AS embedding_col 
      FROM ML.GENERATE_EMBEDDING 
      ( 
         MODEL`image_embedding.image_embeddings_model` , 
            (
               SELECT "Blue dress" AS content
            ), 
            STRUCT 
         (
            TRUE AS flatten_json_output, 
            512 AS output_dimensionality
         ) 
      )
   ),
   top_k => 5 
)
ORDER BY distance ASC; 
SELECT * FROM `image_embedding.image_search_via_text`;

결과: 쿼리 결과는 다음을 제공합니다 image_link 그리고 각 결과에 대한 거리. 얻을 수있는 결과가 검색 쿼리 및 사용 가능한 드레스와 관련하여 가장 가까운 일치를 제공 할 수 있습니다.

결과결과

// 이미지를 통해 드레스 검색

이제 우리는 이미지를 사용하여 유사한 이미지를 찾는 방법을 조사 할 것입니다. 아래 이미지처럼 보이는 드레스를 찾아 보겠습니다.

아래 이미지처럼 보이는 드레스를 찾아 보자아래 이미지처럼 보이는 드레스를 찾아 보자

테스트 이미지의 외부 테이블: Google 클라우드 스토리지 버킷에 테스트 이미지를 저장하고 외부 테이블을 만들어야합니다. external_images_test_table검색에 사용 된 테스트 이미지를 저장합니다.

CREATE OR REPLACE EXTERNAL TABLE 
   `image_embedding.external_images_test_table` 
WITH CONNECTION `[PROJECT_ID].us.llm-connection` 
OPTIONS( 
   object_metadata="SIMPLE", 
   uris = ['gs://[BUCKET_NAME]/test-image-for-dress/*'], 
   max_staleness = INTERVAL 1 DAY, 
   metadata_cache_mode="AUTOMATIC"
);

테스트 이미지에 대한 임베딩을 생성합니다: 이제 우리는이 단일 테스트 이미지를 사용하여 임베딩을 생성합니다. ML.GENERATE_EMBEDDING 기능.

CREATE OR REPLACE TABLE `image_embedding.test_dress_embeddings` AS 
SELECT * 
FROM ML.GENERATE_EMBEDDING
   ( 
      MODEL `image_embedding.image_embeddings_model`, 
      TABLE `image_embedding.external_images_test_table`, STRUCT(TRUE AS flatten_json_output, 
      512 AS output_dimensionality
   ) 
);

이미지 임베딩으로 벡터 검색: 마지막으로 테스트 이미지의 포함은 벡터 검색을 수행하는 데 사용됩니다. image_embedding.dress_embeddings 테이블. 그만큼 ml_generate_embedding_result ~에서 image_embedding.test_dress_embeddings 쿼리 임베딩으로 사용됩니다.

SELECT base.uri AS image_link, distance 
FROM 
VECTOR_SEARCH( 
   TABLE `image_embedding.dress_embeddings`, 
   'ml_generate_embedding_result', 
   ( 
      SELECT * FROM `image_embedding.test_dress_embeddings`
   ),
   top_k => 5, 
   distance_type => 'COSINE', 
   options => '{"use_brute_force":true}' 
);

결과: 이미지 검색의 쿼리 결과는 가장 시각적으로 유사한 드레스를 보여주었습니다. 최고의 결과는있었습니다 white-dress 거리가 0.2243 인 다음에 이어집니다 sky-blue-dress 거리가 0.3645이고 polka-dot-dress 거리가 0.3828입니다.

이 결과는 입력 이미지를 기반으로 시각적으로 유사한 항목을 찾는 능력을 분명히 보여줍니다.이 결과는 입력 이미지를 기반으로 시각적으로 유사한 항목을 찾는 능력을 분명히 보여줍니다.

이 결과는 입력 이미지를 기반으로 시각적으로 유사한 항목을 찾는 능력을 분명히 보여줍니다.

// 영향

이 데모는 Google Cloud의 이미지 임베딩 및 벡터 검색이 시각적 데이터와 상호 작용하는 방법에 혁명을 일으킬 수있는 방법을 효과적으로 보여줍니다. “유사한”기능을 가능하게하는 전자 상거래 플랫폼에서 컨텐츠 관리 시스템에 대한 지능적인 시각 자산 검색을 제공하는 컨텐츠 관리 시스템에 이르기까지 응용 프로그램은 방대합니다. 이미지를 검색 가능한 벡터로 변환함으로써 이러한 기술은 새로운 차원의 검색을 잠금 해제하여보다 직관적이고 강력하며 시각적으로 지능적입니다.

이러한 결과는 사용자에게 제시 될 수있어 원하는 드레스를 빠르게 찾을 수 있습니다.

AI 드레스 검색의 이점

  1. 향상된 사용자 경험 : 시각적 검색은 사용자가 원하는 것을 찾을 수있는보다 직관적이고 효율적인 방법을 제공합니다.
  2. 개선 된 정확도 : 이미지 임베딩은 시각적 유사성을 기반으로 검색을 가능하게하여 기존 키워드 기반 검색보다 더 관련성이 높은 결과를 제공합니다.
  3. 판매 증가 : 고객이 원하는 제품을보다 쉽게 찾을 수 있도록 AI 드레스 검색은 전환을 높이고 수익을 높일 수 있습니다.

드레스 검색을 넘어서

이미지 임베딩의 성능을 BigQuery의 강력한 데이터 처리 기능과 결합하면 시각적 컨텐츠와 상호 작용하는 방식을 변화시키는 혁신적인 AI 중심 솔루션을 만들 수 있습니다. 전자 상거래에서 컨텐츠 중재에 이르기까지 이미지 임베딩 및 BigQuery의 힘은 드레스 검색을 넘어 확장됩니다.

다른 잠재적 응용 프로그램은 다음과 같습니다.

  • 전자 상거래 : 제품 권장 사항, 기타 제품 범주에 대한 시각적 검색
  • 패션 디자인 : 트렌드 분석, 디자인 영감
  • 내용 조정 : 부적절한 컨텐츠 식별
  • 저작권 침해 탐지 : 지적 재산을 보호하기 위해 시각적으로 유사한 이미지 찾기

BigQuery에 대한 임베딩에 대해 자세히 알아보고 여기에서 벡터 검색.

Nivedita Kumari 10 년 이상의 경험을 가진 노련한 데이터 분석 및 AI 전문가입니다. 현재 Google의 데이터 분석 고객 엔지니어로서 그녀의 현재 역할에서 그녀는 C 레벨 경영진과 지속적으로 참여하고 데이터 솔루션을 아키텍트하고 Google Cloud에서 데이터 및 머신 학습 솔루션을 구축하기위한 모범 사례를 안내합니다. Nivedita는 Urbana-Champaign의 일리노이 대학교의 데이터 분석에 중점을 둔 기술 관리 석사 학위를 취득했습니다. 그녀는 기계 학습과 AI를 민주화하여 기술적 장벽을 무너 뜨려 모든 사람 이이 혁신적인 기술의 일부가 될 수 있습니다. 그녀는 자습서, 안내서, 의견 조각 및 코딩 시연을 만들어 개발자 커뮤니티와 지식과 경험을 공유합니다. LinkedIn에서 Nivedita와 연결하십시오.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다