James Tsang

James Tsang

A developer.
github
twitter
tg_channel

ARTS チェックイン 9 日目 - 二分法、Stable Diffusion Prompt の書き方、SeamlessM4T、そして論文の読み方の習慣

A:35. 挿入位置を検索する#

ソートされた配列と目標値が与えられた場合、配列内で目標値を検索し、そのインデックスを返します。目標値が配列に存在しない場合、順序に従って挿入される位置を返します。
時間計算量が O (log n) のアルゴリズムを使用する必要があります。
例 1:
入力: nums = [1,3,5,6], target = 5
出力: 2
例 2:
入力: nums = [1,3,5,6], target = 2
出力: 1
例 3:
入力: nums = [1,3,5,6], target = 7
出力: 4
ヒント:

  • 1 <= nums.length <= 10^4
  • -10^4 <= nums[i] <= 10^4
  • nums は重複のない昇順の配列です
  • -10^4 <= target <= 10^4
function searchInsert(nums: number[], target: number): number {
  let left = 0
  let right = nums.length - 1
  if (target <= nums[0]) {
    return left
  }
  if (target > nums[right]) {
    return right + 1
  }
  let mid = Math.floor((left + right) / 2)
  while (left < right - 1) {
    const midValue = nums[mid]
    if (midValue === target) {
      return mid
    }
    if (midValue < target) {
      left = mid
    } else {
      right = mid
    }
    mid = Math.floor((left + right) / 2)
  }
  return right
}

提出結果は:

65/65 ケースがパスしました (64 ms)
Your runtime beats 72.07 % of typescript submissions
Your memory usage beats 52.45 % of typescript submissions (43.7 MB)

問題の要件で時間計算量が O(logn) のアルゴリズムを使用する必要があることから、二分探索を使用することがわかります。前回の二分探索の問題を解いたばかりなので、今回はもっと早く解けました。実装中には境界条件の判断に少し時間がかかりました。まず、mid は常に leftright の中間の値であるため、この境界を超える値をカバーすることはできません。そのため、最大の境界を超える可能性があるかどうかを最初に確認し、超える場合は境界条件を返します。次に、leftright は繰り返し圧縮され、left === right - 1 の状態になるまで圧縮されます。この時点で範囲はもう圧縮できないため、ループを終了する必要があります。最後に、最初に値が leftright の範囲内にあることを確認しているため、途中で一致するものがない場合は、直接 right を返すことで正しい挿入位置を返します。

R:完璧な安定拡散プロンプトのエンジニアリング方法#

今後の記事はすべて QA 法を使用して記録し、内容を把握しやすくし、後で復習しやすくします。

Q:なぜ高品質のプロンプトは安定した拡散にとって重要なのですか?

それはモデルに指示と操作のフレームワークを提供し、モデルの実行と結果の品質に影響を与えるからです。プロンプトエンジニアリングの技術をマスターすることで、アーティストは芸術的な道筋を探索し、芸術的なスタイルを実験し、AI アート領域でアセットの芸術的なアイデンティティを定義することができます。

Q:効果的な安定拡散プロンプトの作成手順は何ですか?

  1. 画像のタイプを定義する
    写真、スケッチ、3D レンダリング、絵画など、タイプを明確に定義することは良い基盤となります。
  2. 主体を定義する
    主体とその属性を明確に定義します。主体はオブジェクト、人物、風景、または他の画像の中心的な要素です。
  3. シーンを定義する
    主体が存在する環境を定義します。背景の詳細、天候条件、一日の時間などを含めることができます。より明確に記述するほど効果が高くなります。
  4. スタイルを定義する
    リアリズム、シュールレアリスム、印象派など、スタイルを定義します。または特定のアーティストのスタイルである場合もあります。
  5. 照明の詳細を説明する
    特定の言葉を使用して照明条件を説明します。バックライト、キャンドルライト、自然光などを説明します。また、詳細度を説明することもできます。高度に詳細、粒子感、滑らかさなど。
  6. 構図を宣言する
    画像内の要素のレイアウトを定義します。俯瞰図、クローズアップ、広角、または他の構図方法など。
  7. カラースタイルを定義する
    カラープリファレンスがある場合は定義する必要があります。三色配色、ウォッシュドカラーなど。
  8. 過度な複雑さを避ける
    過度に複雑なまたは矛盾した指示は、モデルが良質な結果を出力できなくなる可能性があります。

T:SeamlessM4T - 多言語、多モードのオールインワンモデル#

Meta AI は、SeamlessM4T という多言語、多モードのオールインワンモデルを最新のオープンソースとしてリリースしました。このモデルは、100 以上の音声からテキスト、音声から音声、テキストからテキストの翻訳と音声認識のタスクを実行することができます。

S:「李笑来:私の読書経験」からの抜粋#

以前、李笑来先生のこの記事からの一文を引用しましたが、李笑来先生のこの記事は本当に素晴らしく書かれていると感じました。今日は、当時読んで感銘を受けた一文を思い出しました:

批量阅读学术文献,就好像是从父母的庇护下离开而后独立生存一样,刚开始的时候甚至有一点害怕,但是,没有过多久,就开始可怜起过去的自己。过去怎么那么傻,竟然总是要衣来伸手,饭来张口,不来什么,就都没有。
本科教育结束之后,理论上来讲,就应该把大部分时间用来读学术文献,很可惜,貌似在我们国家,根本就没有这个概念。学术研究被翻译成通俗读物,这个时间滞后实在是太严重了。

最近、大規模な言語モデルに関する論文をいくつか読んだのですが、李笑来先生が言った「最初は少し怖かったけど、すぐにそうであるべきだったと感じる」という感覚を実感しました。論文は、分野の最先端を素早く効果的に理解するための方法であり、論文を読むことは習慣にする価値があると感じました。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。