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)
ランタイムは、typescript の提出の 72.07%を上回ります
メモリ使用量は、typescript の提出の 52.45%を上回ります(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:「李笑来:私の読書経験」からの抜粋#

以前、李笑来先生のこの記事からの一文を引用しましたが、李笑来先生のこの記事は本当に素晴らしく、今日は当時の感銘深かった一文を思い出しました:

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

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

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